]>
Commit | Line | Data |
---|---|---|
3d551623 PG |
1 | diff --git a/CHANGELOG b/CHANGELOG |
2 | index a7ac9fb..93c79cf 100644 | |
3 | --- a/CHANGELOG | |
4 | +++ b/CHANGELOG | |
5 | @@ -36,6 +36,7 @@ | |
6 | - fix map entry expansion when undefined macro is present. | |
7 | - remove unused export validation code. | |
8 | - add dynamic logging (adapted from v4 patch from Jeff Moyer). | |
9 | +- fix recursive loopback mounts (Matthias Koenig). | |
10 | ||
11 | 18/06/2007 autofs-5.0.2 | |
12 | ----------------------- | |
13 | diff --git a/daemon/spawn.c b/daemon/spawn.c | |
14 | index 3d5ea56..ab3274c 100644 | |
15 | --- a/daemon/spawn.c | |
16 | +++ b/daemon/spawn.c | |
17 | @@ -290,7 +290,16 @@ int spawn_mount(unsigned logopt, ...) | |
18 | ||
19 | va_start(arg, logopt); | |
20 | p = argv + 1; | |
21 | - while ((*p++ = va_arg(arg, char *))); | |
22 | + while ((*p = va_arg(arg, char *))) { | |
23 | + if (options == SPAWN_OPT_NONE && !strcmp(*p, "-o")) { | |
24 | + *(++p) = va_arg(arg, char *); | |
25 | + if (!*p) | |
26 | + break; | |
27 | + if (strstr(*p, "loop")) | |
28 | + options = SPAWN_OPT_ACCESS; | |
29 | + } | |
30 | + p++; | |
31 | + } | |
32 | va_end(arg); | |
33 | ||
34 | while (retries--) { |