This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] [trivial] fix NULL deref


Please see patch to fix NULL dereference in strchr() function. Thanks.

-Ali

--- gdb-7.1/gdb/fork-child.c    2009-12-31 23:31:31.000000000 -0800
+++ gdb-7.1/gdb/fork-child.c 2010-09-16 10:17:25.000000000 -0700
@@ -52,7 +52,7 @@
 static void
 breakup_args (char *scratch, char **argv)
 {
-  char *cp = scratch;
+  char *cp = scratch, *tmp;

   for (;;)
     {
@@ -68,15 +68,16 @@
       *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';


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]