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