aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu')
-rw-r--r--libjava/gnu/classpath/natVMStackWalker.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/libjava/gnu/classpath/natVMStackWalker.cc b/libjava/gnu/classpath/natVMStackWalker.cc
index f7eb883..1b336ca 100644
--- a/libjava/gnu/classpath/natVMStackWalker.cc
+++ b/libjava/gnu/classpath/natVMStackWalker.cc
@@ -80,15 +80,22 @@ gnu::classpath::VMStackWalker::getClassLoader(::java::lang::Class *c)
gnu::classpath::VMStackWalker::getCallingClassLoader(void)
{
_Jv_InitClass (&::gnu::classpath::VMStackWalker::class$);
- return
- _Jv_StackTrace::GetStackWalkerCallingClass ()->getClassLoaderInternal ();
+ jclass klass = _Jv_StackTrace::GetStackWalkerCallingClass ();
+ if (klass)
+ return klass->getClassLoaderInternal ();
+ else
+ return NULL;
}
::java::lang::ClassLoader *
gnu::classpath::VMStackWalker::getCallingClassLoader(::gnu::gcj::RawData *pc)
{
_Jv_InitClass (&::gnu::classpath::VMStackWalker::class$);
- return GET_CALLING_CLASS(pc)->getClassLoaderInternal ();
+ jclass klass = GET_CALLING_CLASS(pc);
+ if (klass)
+ return klass->getClassLoaderInternal ();
+ else
+ return NULL;
}
::java::lang::ClassLoader *