Use gdb::unique_xmalloc_ptr in auto_load_section_scripts
authorTom Tromey <tom@tromey.com>
Thu, 8 Feb 2018 19:08:58 +0000 (12:08 -0700)
committerTom Tromey <tom@tromey.com>
Fri, 9 Feb 2018 12:53:22 +0000 (05:53 -0700)
This changes auto_load_section_scripts to use gdb::unique_xmalloc_ptr,
allowing the removal of a cleanup.

2018-02-09  Tom Tromey  <tom@tromey.com>

* auto-load.c (auto_load_section_scripts): Use
gdb::unique_xmalloc_ptr.

gdb/ChangeLog
gdb/auto-load.c

index adc3d19..9e03aa2 100644 (file)
@@ -1,5 +1,10 @@
 2018-02-09  Tom Tromey  <tom@tromey.com>
 
+       * auto-load.c (auto_load_section_scripts): Use
+       gdb::unique_xmalloc_ptr.
+
+2018-02-09  Tom Tromey  <tom@tromey.com>
+
        * auto-load.c (execute_script_contents): Use std::string.
 
 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
index 1f3d366..b79341f 100644 (file)
@@ -1153,13 +1153,11 @@ auto_load_section_scripts (struct objfile *objfile, const char *section_name)
             section_name, bfd_get_filename (abfd));
   else
     {
-      struct cleanup *cleanups;
-      char *p = (char *) data;
+      gdb::unique_xmalloc_ptr<bfd_byte> data_holder (data);
 
-      cleanups = make_cleanup (xfree, p);
+      char *p = (char *) data;
       source_section_scripts (objfile, section_name, p,
                              p + bfd_get_section_size (scripts_sect));
-      do_cleanups (cleanups);
     }
 }