This is the mail archive of the
frysk-cvs@sources.redhat.com
mailing list for the frysk project.
[SCM] master: Fixes bug #5405.
- From: tthomas at sourceware dot org
- To: frysk-cvs at sourceware dot org
- Date: 26 Nov 2007 23:11:19 -0000
- Subject: [SCM] master: Fixes bug #5405.
- Reply-to: frysk at sourceware dot org
The branch, master has been updated
via 99e16d1871d3f7f834bdc8834b747591e01299a5 (commit)
from ccddf5ed862aeea6996f3e6bfbfee5f1e3f229b4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email.
- Log -----------------------------------------------------------------
commit 99e16d1871d3f7f834bdc8834b747591e01299a5
Author: Teresa Thomas <tthomas@redhat.com>
Date: Mon Nov 26 18:10:02 2007 -0500
Fixes bug #5405.
2007-11-26 Teresa Thomas <tthomas@redhat.com>
* PointerType.java (toPrint): Return on null ptr.
-----------------------------------------------------------------------
Summary of changes:
frysk-core/frysk/value/ChangeLog | 2 ++
frysk-core/frysk/value/PointerType.java | 6 +++++-
2 files changed, 7 insertions(+), 1 deletions(-)
First 500 lines of diff:
diff --git a/frysk-core/frysk/value/ChangeLog b/frysk-core/frysk/value/ChangeLog
index 46a2743..151002a 100644
--- a/frysk-core/frysk/value/ChangeLog
+++ b/frysk-core/frysk/value/ChangeLog
@@ -1,5 +1,7 @@
2007-11-26 Teresa Thomas <tthomas@redhat.com>
+ * PointerType.java (toPrint): Return on null ptr.
+
* PointerType.java (slice): New.
* TestPointer.java (testCharPointerSlice): New test.
diff --git a/frysk-core/frysk/value/PointerType.java b/frysk-core/frysk/value/PointerType.java
index 6766a1e..9cd1e8b 100644
--- a/frysk-core/frysk/value/PointerType.java
+++ b/frysk-core/frysk/value/PointerType.java
@@ -82,6 +82,9 @@ public class PointerType
if (type instanceof CharType) {
// XXX: ByteBuffer.slice wants longs.
long addr = getBigInteger(location).longValue();
+ // Null pointer
+ if (addr == 0)
+ return;
writer.print(" \"");
while (true) {
Location l = new ByteBufferLocation(memory, addr,
@@ -143,12 +146,13 @@ public class PointerType
// Evaluate length and offset of slice.
long offset = v.asLong() + i.asLong()*type.getSize();
int len = (int)(j.asLong() - i.asLong() + 1)*type.getSize();
+
// Create a simple memory location with it.
Location loc = PieceLocation.createSimpleLoc
(offset, len, taskMem);
/* Determine return type.
- * Note: Slicing can give one D or multi-D results
+ * Note: Slicing can give one-D or multi-D results
* depending on the type of value being pointed to.
*/
hooks/post-receive
--
frysk system monitor/debugger