[PATCH 19/37] autofs-5.1.2 - fix argc off by one in mount_autofs.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The mount_autofs.c module incorrectly calculates the number of
arguments to its map.

Signed-off-by: Ian Kent <raven@xxxxxxxxxx>
---
 CHANGELOG              |    1 +
 modules/mount_autofs.c |    8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 853d40c..f46428c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -16,6 +16,7 @@ xx/xx/2016 autofs-5.1.3
 - fix count_mounts() function.
 - configure: add cache variable for Linux proc filesystem check.
 - Avoid local variable name shadowing another.
+- fix argc off by one in mount_autofs.c.
 
 15/06/2016 autofs-5.1.2
 =======================
diff --git a/modules/mount_autofs.c b/modules/mount_autofs.c
index c6a3199..65c0a06 100644
--- a/modules/mount_autofs.c
+++ b/modules/mount_autofs.c
@@ -179,11 +179,11 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name,
 
 	if (options) {
 		char *t = options;
-		do {
+		while ((t = strchr(t, ',')) != NULL) {
 			argc++;
 			if (*t == ',')
 				t++;
-		} while ((t = strchr(t, ',')) != NULL);
+		}
 	}
 	argv = (const char **) alloca((argc + 1) * sizeof(char *));
 
@@ -235,13 +235,13 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name,
 
 	if (options) {
 		p = options;
-		do {
+		while ((p = strchr(p, ',')) != NULL) {
 			if (*p == ',') {
 				*p = '\0';
 				p++;
 			}
 			argv[argc++] = p;
-		} while ((p = strchr(p, ',')) != NULL);
+		}
 	}
 	argv[argc] = NULL;
 

--
To unsubscribe from this list: send the line "unsubscribe autofs" in



[Index of Archives]     [Linux Filesystem Development]     [Linux Ext4]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux