[commit/obvious] Fix possible bug when no args have been provided to the executable

Sergio Durigan Junior
2017-06-08T21:02:32Z

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 | 5 +++++
gdb/common/common-utils.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 993fabe..5ebc7f8 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/common/common-utils.c b/gdb/common/common-utils.c
index 793ab3b..e75a1b9 100644
--- a/gdb/common/common-utils.c
+++ b/gdb/common/common-utils.c
@@ -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)
--
2.9.3