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