< prev index next >
src/java.base/share/classes/java/util/zip/ZipUtils.java
Print this page
rev 55657 : 8227587: Add internal privileged System.loadLibrary
Reviewed-by: rriggs
*** 1,7 ****
/*
! * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 25,36 ****
package java.util.zip;
import java.nio.ByteBuffer;
import java.nio.file.attribute.FileTime;
- import java.security.AccessController;
- import java.security.PrivilegedAction;
import java.time.DateTimeException;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
--- 25,34 ----
*** 276,292 ****
/**
* Loads zip native library, if not already laoded
*/
static void loadLibrary() {
! SecurityManager sm = System.getSecurityManager();
! if (sm == null) {
! System.loadLibrary("zip");
! } else {
! PrivilegedAction<Void> pa = () -> { System.loadLibrary("zip"); return null; };
! AccessController.doPrivileged(pa);
! }
}
private static final Unsafe unsafe = Unsafe.getUnsafe();
private static final long byteBufferArrayOffset = unsafe.objectFieldOffset(ByteBuffer.class, "hb");
--- 274,284 ----
/**
* Loads zip native library, if not already laoded
*/
static void loadLibrary() {
! jdk.internal.access.SharedSecrets.getJavaLangAccess().loadLibrary("zip");
}
private static final Unsafe unsafe = Unsafe.getUnsafe();
private static final long byteBufferArrayOffset = unsafe.objectFieldOffset(ByteBuffer.class, "hb");
< prev index next >