diff options
author | Michael Snyder <msnyder@vmware.com> | 2010-10-01 17:35:30 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2010-10-01 17:35:30 +0000 |
commit | 55e3947383a45ec03e48390775fbf2699e640ec5 (patch) | |
tree | c2de8c8b68ea1512de10dc44b5ee6c81633b5ffd /gdb/fork-child.c | |
parent | a2c09bd0c7148be4ed1b9631905ebe891204be1a (diff) | |
download | gdb-55e3947383a45ec03e48390775fbf2699e640ec5.zip gdb-55e3947383a45ec03e48390775fbf2699e640ec5.tar.gz gdb-55e3947383a45ec03e48390775fbf2699e640ec5.tar.bz2 |
2010-09-30 Ali Lakhia <lakhia@alumni.utexas.net>
* fork-child.c (breakup_args): Fix crash if shell forking is
disabled at compile time.
Diffstat (limited to 'gdb/fork-child.c')
-rw-r--r-- | gdb/fork-child.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gdb/fork-child.c b/gdb/fork-child.c index 7b81e8f..96885da 100644 --- a/gdb/fork-child.c +++ b/gdb/fork-child.c @@ -52,7 +52,7 @@ static char *exec_wrapper; static void breakup_args (char *scratch, char **argv) { - char *cp = scratch; + char *cp = scratch, *tmp; for (;;) { @@ -68,15 +68,16 @@ breakup_args (char *scratch, char **argv) *argv++ = cp; /* Scan for next arg separator. */ - cp = strchr (cp, ' '); - if (cp == NULL) - cp = strchr (cp, '\t'); - if (cp == NULL) - cp = strchr (cp, '\n'); + tmp = strchr (cp, ' '); + if (tmp == NULL) + tmp = strchr (cp, '\t'); + if (tmp == NULL) + tmp = strchr (cp, '\n'); /* No separators => end of string => break. */ - if (cp == NULL) + if (tmp == NULL) break; + cp = tmp; /* Replace the separator with a terminator. */ *cp++ = '\0'; |