This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [commit] record.c (record_restore): Check pointer before use.
- From: Michael Snyder <msnyder at vmware dot com>
- To: Joel Brobecker <brobecker at adacore dot com>
- Cc: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Wed, 02 Mar 2011 10:09:47 -0800
- Subject: Re: [commit] record.c (record_restore): Check pointer before use.
- References: <4D6D564A.8080403@vmware.com> <20110302042646.GL30306@adacore.com>
Joel Brobecker wrote:
2011-03-01 Michael Snyder <msnyder@vmware.com>
* reverse.c (record_restore): Move null-check to before pointer
dereference.
Index: record.c
===================================================================
RCS file: /cvs/src/src/gdb/record.c,v
retrieving revision 1.57
diff -u -p -u -p -r1.57 record.c
--- record.c 10 Jan 2011 20:38:50 -0000 1.57
+++ record.c 1 Mar 2011 20:23:33 -0000
@@ -2214,12 +2214,12 @@ record_restore (void)
/* Now need to find our special note section. */
osec = bfd_get_section_by_name (core_bfd, "null0");
+ if (osec == NULL)
+ return;
osec_size = bfd_section_size (core_bfd, osec);
if (record_debug)
fprintf_unfiltered (gdb_stdlog, "Find precord section %s.\n",
osec ? "succeeded" : "failed");
- if (osec == NULL)
- return;
I think that the debug trace ("Find precord section...") also
needs to be moved up.
Ah - right. Like this?
2011-03-02 Michael Snyder <msnyder@vmware.com>
* record.c (record_restore): Move printf to before error return.
Index: record.c
===================================================================
RCS file: /cvs/src/src/gdb/record.c,v
retrieving revision 1.58
diff -u -p -u -p -r1.58 record.c
--- record.c 1 Mar 2011 20:24:48 -0000 1.58
+++ record.c 2 Mar 2011 18:05:54 -0000
@@ -2214,12 +2214,12 @@ record_restore (void)
/* Now need to find our special note section. */
osec = bfd_get_section_by_name (core_bfd, "null0");
- if (osec == NULL)
- return;
- osec_size = bfd_section_size (core_bfd, osec);
if (record_debug)
fprintf_unfiltered (gdb_stdlog, "Find precord section %s.\n",
osec ? "succeeded" : "failed");
+ if (osec == NULL)
+ return;
+ osec_size = bfd_section_size (core_bfd, osec);
if (record_debug)
fprintf_unfiltered (gdb_stdlog, "%s", bfd_section_name (core_bfd, osec));