Blob Blame History Raw
autofs-5.0.3 - fix incorrect multi-mount mountpoint

From: Ian Kent <raven@themaw.net>

Fix case where an incorrect mount point path was being used when
mounting a multi-mount component.
---

 modules/parse_sun.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)


diff --git a/modules/parse_sun.c b/modules/parse_sun.c
index 333f8a5..5a39113 100644
--- a/modules/parse_sun.c
+++ b/modules/parse_sun.c
@@ -1248,8 +1248,14 @@ static int mount_subtree(struct autofs_point *ap, struct mapent *me,
 				return 1;
 			}
 		} else if (rv < 0) {
+			char *mm_root_base = alloca(strlen(mm_root) + strlen(mm_base) + 1);
+	
 			move = MOUNT_MOVE_NONE;
-			ret = mount_multi_triggers(ap, me->multi, mm_root, start, mm_base);
+
+			strcpy(mm_root_base, mm_root);
+			strcat(mm_root_base, mm_base);
+
+			ret = mount_multi_triggers(ap, me->multi, mm_root_base, start, mm_base);
 			if (ret == -1) {
 				error(ap->logopt, MODPREFIX
 					 "failed to mount offset triggers");