< 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 >