Fix possible bug when no args have been provided to the executable
authorSergio Durigan Junior <sergiodj@redhat.com>
Thu, 8 Jun 2017 20:58:25 +0000 (16:58 -0400)
committerSergio Durigan Junior <sergiodj@redhat.com>
Thu, 8 Jun 2017 20:58:25 +0000 (16:58 -0400)
Hi,

This bug is related to:

  <https://sourceware.org/ml/gdb-patches/2017-06/msg00216.html>

On stringify_argv, we have to check if args[0] is not NULL before
stringifying anything, otherwise we might do the wrong thing when
trimming the "ret" string in the end.  args[0] will be NULL when no
arguments are passed to the inferior that will be started.

Checked in as obvious.

gdb/ChangeLog:
2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>

* common/common-utils.c (stringify_argv): Check for "arg[0] !=
NULL".

gdb/ChangeLog
gdb/common/common-utils.c

index 993fabe..5ebc7f8 100644 (file)
@@ -1,3 +1,8 @@
+2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+       * common/common-utils.c (stringify_argv): Check for "arg[0] !=
+       NULL".
+
 2017-06-08 Alan Hayward  <alan.hayward@arm.com>
 
        * mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
index 793ab3b..e75a1b9 100644 (file)
@@ -337,7 +337,7 @@ stringify_argv (const std::vector<char *> &args)
 {
   std::string ret;
 
-  if (!args.empty ())
+  if (!args.empty () && args[0] != NULL)
     {
       for (auto s : args)
        if (s != NULL)