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.
56 lines
1.3 KiB
56 lines
1.3 KiB
7 years ago
|
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;
|
||
|
|