summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgary <gary@138bc75d-0d04-0410-961f-82ee72b054a4>2006-08-09 14:59:16 +0000
committergary <gary@138bc75d-0d04-0410-961f-82ee72b054a4>2006-08-09 14:59:16 +0000
commit54a5ecb6b046485a8b1f476cf957f6320a42c59c (patch)
treebfd6118ea9cf4668374c47686e6a8c8f9a718e57
parent8f471b51f19f985b77c06e93fbf3ea67c0647fee (diff)
downloadgcc-54a5ecb6b046485a8b1f476cf957f6320a42c59c.tar.gz
2006-08-09 Gary Benson <gbenson@redhat.com>
* stacktrace.cc (accesscontrol_trace_fn): Skip non-Java frames. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116038 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog4
-rw-r--r--libjava/stacktrace.cc4
2 files changed, 7 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 9be7e4ac6cc..f8c4f5d6f6e 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,9 @@
2006-08-09 Gary Benson <gbenson@redhat.com>
+ * stacktrace.cc (accesscontrol_trace_fn): Skip non-Java frames.
+
+2006-08-09 Gary Benson <gbenson@redhat.com>
+
* java/lang/System.java (setSecurityManager): Javadoc fix.
* java/security/VMAccessController.java (getContext): Comment fix.
diff --git a/libjava/stacktrace.cc b/libjava/stacktrace.cc
index e81294ddf69..bd011d005ce 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;