Example: core_14
Link to fix commit:
https://github.com/FasterXML/jackson-core/compare/383f63242c59628d7bcef15a73eb1c9d44d7fb56..3c2c9610b6c76e2b348eb057d0a8268681d573a6
Language:
java
Hunk:
diff --git a/src/main/java/com/fasterxml/jackson/core/io/IOContext.java b/src/main/java/com/fasterxml/jackson/core/io/IOContext.java
index a4675be20c..18f50c8eda 100644
--- a/src/main/java/com/fasterxml/jackson/core/io/IOContext.java
+++ b/src/main/java/com/fasterxml/jackson/core/io/IOContext.java
@@ -270,12 +270,17 @@ protected final void _verifyAlloc(Object buffer) {
}
protected final void _verifyRelease(byte[] toRelease, byte[] src) {
- if ((toRelease != src) && (toRelease.length <= src.length)) { throw wrongBuf(); }
+ // 07-Mar-2016, tatu: As per [core#255], only prevent shrinking of buffer
+ if ((toRelease != src) && (toRelease.length < src.length)) { throw wrongBuf(); }
}
protected final void _verifyRelease(char[] toRelease, char[] src) {
- if ((toRelease != src) && (toRelease.length <= src.length)) { throw wrongBuf(); }
+ // 07-Mar-2016, tatu: As per [core#255], only prevent shrinking of buffer
+ if ((toRelease != src) && (toRelease.length < src.length)) { throw wrongBuf(); }
}
- private IllegalArgumentException wrongBuf() { return new IllegalArgumentException("Trying to release buffer not owned by the context"); }
+ private IllegalArgumentException wrongBuf() {
+ // sanity check failed; trying to return different, smaller buffer.
+ return new IllegalArgumentException("Trying to release buffer smaller than original");
+ }
}