aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Heckel <bernhard.heckel@intel.com>2016-06-07 13:36:05 +0200
committerBernhard Heckel <bernhard.heckel@intel.com>2016-06-07 13:36:05 +0200
commit2091da296fd563f62d856dcb5a049a63484ed65e (patch)
tree8529e56ff2704a192a48fad224ba1a01d6b96c22
parent4d1464f294405a064d84e3d4f15c1ceff3639add (diff)
downloadfsf-binutils-gdb-2091da296fd563f62d856dcb5a049a63484ed65e.zip
fsf-binutils-gdb-2091da296fd563f62d856dcb5a049a63484ed65e.tar.gz
fsf-binutils-gdb-2091da296fd563f62d856dcb5a049a63484ed65e.tar.bz2
Frame static link: Handle null pointer.
2016-06-07 Bernhard Heckel <bernhard.heckel@intel.com> gdb/Changelog: * findvar.c (follow_static_link): Check for valid pointer.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/findvar.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 01cc770..bd2d5d2 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2016-06-07 Bernhard Heckel <bernhard.heckel@intel.com>
+
+ * findvar.c (follow_static_link): Check for valid pointer.
+
2016-06-06 Simon Marchi <simon.marchi@ericsson.com>
* NEWS: Mention the new fields in =record-started.
diff --git a/gdb/findvar.c b/gdb/findvar.c
index a39d897..cfb3e38 100644
--- a/gdb/findvar.c
+++ b/gdb/findvar.c
@@ -435,6 +435,7 @@ follow_static_link (struct frame_info *frame,
/* If we don't know how to compute FRAME's base address, don't give up:
maybe the frame we are looking for is upper in the stace frame. */
if (framefunc != NULL
+ && SYMBOL_BLOCK_OPS (framefunc) != NULL
&& SYMBOL_BLOCK_OPS (framefunc)->get_frame_base != NULL
&& (SYMBOL_BLOCK_OPS (framefunc)->get_frame_base (framefunc, frame)
== upper_frame_base))