You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.3 KiB
55 lines
1.3 KiB
autofs-5.1.2 - fix argc off by one in mount_autofs.c |
|
|
|
From: Ian Kent <raven@themaw.net> |
|
|
|
The mount_autofs.c module incorrectly calculates the number of |
|
arguments to its map. |
|
|
|
Signed-off-by: Ian Kent <raven@themaw.net> |
|
--- |
|
CHANGELOG | 1 + |
|
modules/mount_autofs.c | 8 ++++---- |
|
2 files changed, 5 insertions(+), 4 deletions(-) |
|
|
|
--- autofs-5.0.7.orig/CHANGELOG |
|
+++ autofs-5.0.7/CHANGELOG |
|
@@ -220,6 +220,7 @@ |
|
- update and add README for old autofs schema. |
|
- fix short memory allocation in lookup_amd_instance(). |
|
- fix count_mounts() function. |
|
+- fix argc off by one in mount_autofs.c. |
|
|
|
25/07/2012 autofs-5.0.7 |
|
======================= |
|
--- autofs-5.0.7.orig/modules/mount_autofs.c |
|
+++ autofs-5.0.7/modules/mount_autofs.c |
|
@@ -179,11 +179,11 @@ int mount_mount(struct autofs_point *ap, |
|
|
|
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, |
|
|
|
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; |
|
|
|
|