2007-08-04 Michael Snyder <msnyder@access-company.com>
authorMichael Snyder <msnyder@vmware.com>
Sun, 5 Aug 2007 00:36:53 +0000 (00:36 +0000)
committerMichael Snyder <msnyder@vmware.com>
Sun, 5 Aug 2007 00:36:53 +0000 (00:36 +0000)
* tracepoint.c (add_register): Off by one error.
(stringify_collection_list): Free malloc buffer.

gdb/ChangeLog
gdb/tracepoint.c

index fd8b2625fa2db16c61c5ca3c2333e0e48479e251..511f555ef5a848820b1a6e7a14be25b909ff5f35 100644 (file)
@@ -1,3 +1,8 @@
+2007-08-04  Michael Snyder  <msnyder@access-company.com>
+
+       * tracepoint.c (add_register): Off by one error.
+       (stringify_collection_list): Free malloc buffer.
+
 2007-08-03  Michael Snyder  <msnyder@access-company.com>
 
        * mi-cmd-var.c (mi_cmd_var_delete): Remove unused variable,
index b9b9f5ee8c6ba2dbc46c9127d434aaee21407e95..e14edee16c837c2661fb57d7586be159ae2d79d6 100644 (file)
@@ -1162,7 +1162,7 @@ add_register (struct collection_list *collection, unsigned int regno)
 {
   if (info_verbose)
     printf_filtered ("collect register %d\n", regno);
-  if (regno > (8 * sizeof (collection->regs_mask)))
+  if (regno >= (8 * sizeof (collection->regs_mask)))
     error (_("Internal: register number %d too large for tracepoint"),
           regno);
   collection->regs_mask[regno / 8] |= 1 << (regno % 8);
@@ -1489,7 +1489,10 @@ stringify_collection_list (struct collection_list *list, char *string)
   (*str_list)[ndx] = NULL;
 
   if (ndx == 0)
-    return NULL;
+    {
+      free (str_list);
+      return NULL;
+    }
   else
     return *str_list;
 }