src/java.base/share/classes/jdk/internal/misc/Unsafe.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/java.base/share/classes/jdk/internal/misc/Unsafe.java	Tue Feb  9 19:35:31 2016
--- new/src/java.base/share/classes/jdk/internal/misc/Unsafe.java	Tue Feb  9 19:35:30 2016

*** 480,490 **** --- 480,490 ---- * @since 9 */ public void copySwapMemory(Object srcBase, long srcOffset, Object destBase, long destOffset, long bytes, long elemSize) { - if (bytes < 0 || srcOffset < 0 || destOffset < 0) { throw new IllegalArgumentException(); } if (elemSize != 2 && elemSize != 4 && elemSize != 8) { throw new IllegalArgumentException(); }
*** 495,506 **** --- 495,508 ---- (destBase == null && destOffset == 0)) { throw new NullPointerException(); } // Must be off-heap, or primitive heap arrays ! if ((srcBase != null && !isPrimitiveArray(srcBase.getClass())) || (destBase != null && !isPrimitiveArray(destBase.getClass()))) { ! if (srcBase != null && (srcOffset < 0 || !isPrimitiveArray(srcBase.getClass()))) { + throw new IllegalArgumentException(); + } + if (destBase != null && (destOffset < 0 || !isPrimitiveArray(destBase.getClass()))) { throw new IllegalArgumentException(); } // Sanity check size and offsets on 32-bit platforms. Most // significant 32 bits must be zero.

src/java.base/share/classes/jdk/internal/misc/Unsafe.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File