From 55e3947383a45ec03e48390775fbf2699e640ec5 Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Fri, 1 Oct 2010 17:35:30 +0000 Subject: [PATCH] 2010-09-30 Ali Lakhia * fork-child.c (breakup_args): Fix crash if shell forking is disabled at compile time. --- gdb/ChangeLog | 5 +++++ gdb/fork-child.c | 15 ++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fafee4b76f1..081b642a609 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2010-09-30 Ali Lakhia + + * fork-child.c (breakup_args): Fix crash if shell forking is + disabled at compile time. + 2010-10-01 Joel Brobecker * ada-lang.c (desc_bounds): Add handling of the case where diff --git a/gdb/fork-child.c b/gdb/fork-child.c index 7b81e8f788b..96885dab7d3 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'; -- 2.30.2