2007-08-08 Michael Snyder <msnyder@access-company.com>
authorMichael Snyder <msnyder@vmware.com>
Wed, 8 Aug 2007 22:02:43 +0000 (22:02 +0000)
committerMichael Snyder <msnyder@vmware.com>
Wed, 8 Aug 2007 22:02:43 +0000 (22:02 +0000)
* target.c (target_read_string): Guard against null.

gdb/ChangeLog
gdb/target.c

index 9e9724f1496c75c2f4b12d751fb9fba71f6f67c0..6b3636c5d8385a72567ffa20192e021a8b00989d 100644 (file)
@@ -1,5 +1,7 @@
 2007-08-08  Michael Snyder  <msnyder@access-company.com>
 
+       * target.c (target_read_string): Guard against null.
+
        * varobj.c (value_of_root): Move alloc after return to avoid leak.
 
        * tui/tui-layout.c (tui_set_layout): Dead code, dead variable.
index 92a4d6ac2c98c51f335ca4d8e49e861c08470f04..38d6f68c7ba8b50f4c06bdb7cafe472b777e1f86 100644 (file)
@@ -919,6 +919,8 @@ target_read_string (CORE_ADDR memaddr, char **string, int len, int *errnop)
   char *bufptr;
   unsigned int nbytes_read = 0;
 
+  gdb_assert (string);
+
   /* Small for testing.  */
   buffer_allocated = 4;
   buffer = xmalloc (buffer_allocated);
@@ -968,10 +970,9 @@ target_read_string (CORE_ADDR memaddr, char **string, int len, int *errnop)
       nbytes_read += tlen;
     }
 done:
+  *string = buffer;
   if (errnop != NULL)
     *errnop = errcode;
-  if (string != NULL)
-    *string = buffer;
   return nbytes_read;
 }