Use gdb::byte_vector in load_progress
authorTom Tromey <tom@tromey.com>
Sat, 30 Sep 2017 04:32:00 +0000 (22:32 -0600)
committerTom Tromey <tom@tromey.com>
Tue, 3 Oct 2017 11:33:47 +0000 (05:33 -0600)
This changes load_progress to use gdb::byte_vector, removing a
cleanup.

2017-10-03  Tom Tromey  <tom@tromey.com>

* symfile.c (load_progress): Use gdb::byte_vector.

gdb/ChangeLog
gdb/symfile.c

index 35c7e3cc629995e699aa3cd5c4e02da908588dc4..d5ba3984213c77b9373eee067442315eca6ec993 100644 (file)
@@ -1,3 +1,7 @@
+2017-10-03  Tom Tromey  <tom@tromey.com>
+
+       * symfile.c (load_progress): Use gdb::byte_vector.
+
 2017-10-03  Tom Tromey  <tom@tromey.com>
 
        * mi/mi-main.c (mi_cmd_trace_frame_collected): Remove unused
index f6bc378a0df2c01f93811e74951a02c4833052bc..a74165456e83b325165cb14b3282c41e4f356998 100644 (file)
@@ -56,6 +56,7 @@
 #include "stack.h"
 #include "gdb_bfd.h"
 #include "cli/cli-utils.h"
+#include "common/byte-vector.h"
 
 #include <sys/types.h>
 #include <fcntl.h>
@@ -1942,16 +1943,14 @@ load_progress (ULONGEST bytes, void *untyped_arg)
         might add a verify_memory() method to the target vector and
         then use that.  remote.c could implement that method using
         the ``qCRC'' packet.  */
-      gdb_byte *check = (gdb_byte *) xmalloc (bytes);
-      struct cleanup *verify_cleanups = make_cleanup (xfree, check);
+      gdb::byte_vector check (bytes);
 
-      if (target_read_memory (args->lma, check, bytes) != 0)
+      if (target_read_memory (args->lma, check.data (), bytes) != 0)
        error (_("Download verify read failed at %s"),
               paddress (target_gdbarch (), args->lma));
-      if (memcmp (args->buffer, check, bytes) != 0)
+      if (memcmp (args->buffer, check.data (), bytes) != 0)
        error (_("Download verify compare failed at %s"),
               paddress (target_gdbarch (), args->lma));
-      do_cleanups (verify_cleanups);
     }
   totals->data_count += bytes;
   args->lma += bytes;