aboutsummaryrefslogtreecommitdiff
path: root/libjava/stacktrace.cc
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2006-08-09 14:59:16 +0000
committerGary Benson <gary@gcc.gnu.org>2006-08-09 14:59:16 +0000
commit9e7ef3a8817b56393718469bc2f82d7855f684a3 (patch)
treebfd6118ea9cf4668374c47686e6a8c8f9a718e57 /libjava/stacktrace.cc
parent62c7a041bba8823e25dff3108de78f4053ec0a36 (diff)
downloadgcc-9e7ef3a8817b56393718469bc2f82d7855f684a3.zip
gcc-9e7ef3a8817b56393718469bc2f82d7855f684a3.tar.gz
gcc-9e7ef3a8817b56393718469bc2f82d7855f684a3.tar.bz2
stacktrace.cc (accesscontrol_trace_fn): Skip non-Java frames.
2006-08-09 Gary Benson <gbenson@redhat.com> * stacktrace.cc (accesscontrol_trace_fn): Skip non-Java frames. From-SVN: r116038
Diffstat (limited to 'libjava/stacktrace.cc')
-rw-r--r--libjava/stacktrace.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/libjava/stacktrace.cc b/libjava/stacktrace.cc
index e81294d..bd011d0 100644
--- a/libjava/stacktrace.cc
+++ b/libjava/stacktrace.cc
@@ -542,12 +542,14 @@ _Jv_StackTrace::accesscontrol_trace_fn (_Jv_UnwindState *state)
_Jv_StackFrame *frame = &state->frames[state->pos];
FillInFrameInfo (frame);
+ if (!(frame->klass && frame->meth))
+ return _URC_NO_REASON;
+
bool *stopping = (bool *) state->trace_data;
if (*stopping)
return _URC_NORMAL_STOP;
if (frame->klass == &::java::security::AccessController::class$
- && frame->meth
&& strcmp (frame->meth->name->chars(), "doPrivileged") == 0)
*stopping = true;