diff options
Diffstat (limited to 'qpid/java')
| -rw-r--r-- | qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java index 78cddc708e..94750a5a8d 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java @@ -1333,7 +1333,19 @@ public abstract class AbstractBDBMessageStore implements MessageStore data = new byte[0]; } } - return ByteBuffer.wrap(data,offsetInMessage,Math.min(size,data.length-offsetInMessage)); + try + { + return ByteBuffer.wrap(data, offsetInMessage, Math.min(size, data.length - offsetInMessage)); + } + catch (IndexOutOfBoundsException e) + { + IndexOutOfBoundsException indexOutOfBoundsException = + new IndexOutOfBoundsException("Error wrapping data (data.length: " + data.length + + " offsetInMessage: " + offsetInMessage + + " size: " + size); + indexOutOfBoundsException.initCause(e); + throw indexOutOfBoundsException; + } } |
