Replace xmalloc/xfree with vector in jit.c
authorSimon Marchi <simon.marchi@polymtl.ca>
Thu, 12 Dec 2019 19:54:47 +0000 (14:54 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Thu, 12 Dec 2019 19:54:47 +0000 (14:54 -0500)
I'm currently studying that code and noticed this manual memory
management, which could easily be replaced with a vector, so here it is.

gdb/ChangeLog:

* jit.c (jit_reader_try_read_symtab): Replace xmalloc/xfree with
gdb::byte_vector.

gdb/ChangeLog
gdb/jit.c

index 2ffc3334feab9bf52c60629a2f45b9843fec9a03..165ffda25109dadc809754104f22655565ebd2a5 100644 (file)
@@ -1,3 +1,8 @@
+2019-12-12  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * jit.c (jit_reader_try_read_symtab): Replace xmalloc/xfree with
+       gdb::byte_vector.
+
 2019-12-12  Tom Tromey  <tromey@adacore.com>
 
        * xml-support.c (xml_fetch_content_from_file): Don't call
index 480b4596ac544bc4020fcc419c0540a563ef9cc2..b6e51e4f8b4dc45aababed6d5ed5b7c20edddb3c 100644 (file)
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -808,7 +808,6 @@ static int
 jit_reader_try_read_symtab (struct jit_code_entry *code_entry,
                             CORE_ADDR entry_addr)
 {
-  gdb_byte *gdb_mem;
   int status;
   jit_dbg_reader_data priv_data;
   struct gdb_reader_funcs *funcs;
@@ -831,12 +830,12 @@ jit_reader_try_read_symtab (struct jit_code_entry *code_entry,
   if (!loaded_jit_reader)
     return 0;
 
-  gdb_mem = (gdb_byte *) xmalloc (code_entry->symfile_size);
+  gdb::byte_vector gdb_mem (code_entry->symfile_size);
 
   status = 1;
   try
     {
-      if (target_read_memory (code_entry->symfile_addr, gdb_mem,
+      if (target_read_memory (code_entry->symfile_addr, gdb_mem.data (),
                              code_entry->symfile_size))
        status = 0;
     }
@@ -848,12 +847,12 @@ jit_reader_try_read_symtab (struct jit_code_entry *code_entry,
   if (status)
     {
       funcs = loaded_jit_reader->functions;
-      if (funcs->read (funcs, &callbacks, gdb_mem, code_entry->symfile_size)
+      if (funcs->read (funcs, &callbacks, gdb_mem.data (),
+                      code_entry->symfile_size)
           != GDB_SUCCESS)
         status = 0;
     }
 
-  xfree (gdb_mem);
   if (jit_debug && status == 0)
     fprintf_unfiltered (gdb_stdlog,
                         "Could not read symtab using the loaded JIT reader.\n");