aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/lang/natThrowable.cc9
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