__spawni() loops forever when parsing the path variable due to incorrect
pointer update. This patch fixes the issue.

Signed-off-by: Eric Le Bihan <[email protected]>
---
 librt/spawn.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/librt/spawn.c b/librt/spawn.c
index 79f5b06..25e3994 100644
--- a/librt/spawn.c
+++ b/librt/spawn.c
@@ -203,9 +203,10 @@ __spawni(pid_t *pid, const char *file,
                *--name = '/';
        }
 
-       char *p;
+       char *p = (char *)path;
        do {
                char *startp;
+               path = p;
                p = strchrnul(path, ':');
 
                /* Two adjacent colons, or a colon at the beginning or the end
@@ -233,7 +234,6 @@ __spawni(pid_t *pid, const char *file,
                        goto error;
                }
 
-               path = p;
        } while (*p++ != '\0');
 
 error:
-- 
2.1.4

_______________________________________________
devel mailing list
[email protected]
http://mailman.uclibc-ng.org/cgi-bin/mailman/listinfo/devel

Reply via email to