Don't print the client's argv[i] if it's null, and related changes.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4629 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/massif/ms_main.c b/massif/ms_main.c
index d4d2b6b..9a2ae7e 100644
--- a/massif/ms_main.c
+++ b/massif/ms_main.c
@@ -1341,8 +1341,10 @@
 
    // File header, including command line
    SPRINTF(buf, "JOB         \"");
-   for (i = 0; i < VG_(client_argc); i++)
-      SPRINTF(buf, "%s ", VG_(client_argv)[i]);
+   for (i = 0; i < VG_(client_argc); i++) {
+      if (VG_(client_argv)[i])
+         SPRINTF(buf, "%s ", VG_(client_argv)[i]);
+   }
    SPRINTF(buf, /*" (%d ms/sample)\"\n"*/ "\"\n"
                 "DATE        \"\"\n"
                 "SAMPLE_UNIT \"ms\"\n"
@@ -1664,8 +1666,10 @@
 
    // Command line
    SPRINTF(buf, "Command: ");
-   for (i = 0; i < VG_(client_argc); i++)
-      SPRINTF(buf, "%s ", VG_(client_argv)[i]);
+   for (i = 0; i < VG_(client_argc); i++) {
+      if (VG_(client_argv)[i])
+         SPRINTF(buf, "%s ", VG_(client_argv)[i]);
+   }
    SPRINTF(buf, "\n%s\n", maybe_p);
 
    if (clo_heap)