diff options
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/lang/natThrowable.cc | 9 |
2 files changed, 11 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 3487fad..4c6f184 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2000-07-19 Jeff Sturm <jeff.sturm@appnet.com> + + * java/lang/natThrowable.cc (fillInStackTrace): Check for + zero return from backtrace(). + 2000-07-15 Bryce McKinlay <bryce@albatross.co.nz> * java/awt/EventQueue.java (invokeAndWait): Call postEvent() within diff --git a/libjava/java/lang/natThrowable.cc b/libjava/java/lang/natThrowable.cc index 38135e5..c7f19be 100644 --- a/libjava/java/lang/natThrowable.cc +++ b/libjava/java/lang/natThrowable.cc @@ -61,9 +61,12 @@ java::lang::Throwable::fillInStackTrace (void) int n = backtrace (p, 128) - 1; #endif - // ??? Might this cause a problem if the byte array isn't aligned? - stackTrace = JvNewByteArray (n * sizeof p[0]); - memcpy (elements (stackTrace), p+1, (n * sizeof p[0])); + if (n > 0) + { + // ??? Might this cause a problem if the byte array isn't aligned? + stackTrace = JvNewByteArray (n * sizeof p[0]); + memcpy (elements (stackTrace), p+1, (n * sizeof p[0])); + } #endif |