diff options
author | gary <> | 2006-08-09 13:59:16 +0000 |
---|---|---|
committer | gary <> | 2006-08-09 13:59:16 +0000 |
commit | 244bf56e098ad69698013d6f7609d2d74edd54c7 (patch) | |
tree | bfd6118ea9cf4668374c47686e6a8c8f9a718e57 | |
parent | 5ec3cb3c3e55f330415d1947e8be42e2f0b264a0 (diff) |
2006-08-09 Gary Benson <gbenson@redhat.com>
* stacktrace.cc (accesscontrol_trace_fn): Skip non-Java frames.
-rw-r--r-- | libjava/ChangeLog | 4 | ||||
-rw-r--r-- | libjava/stacktrace.cc | 4 |
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; |