diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/MemoryBlock.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/MemoryBlock.java index 5680350a060..74e88db62e2 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/MemoryBlock.java +++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/MemoryBlock.java @@ -248,6 +248,9 @@ public class MemoryBlock extends CObject implements ICDIMemoryBlock { * @see org.eclipse.cdt.debug.core.cdi.model.ICDIMemoryBlock#getFlags(int) */ public synchronized byte getFlags(int offset) { + if (offset < 0 || offset >= getLength()) { + throw new IndexOutOfBoundsException(); + } if (badOffsets == null) { badOffsets = getBadOffsets(mem); } @@ -257,9 +260,8 @@ public class MemoryBlock extends CObject implements ICDIMemoryBlock { return 0; } } - return VALID; } - return 0; + return VALID; } }