--- a/src/java.base/linux/classes/sun/nio/fs/LinuxNativeDispatcher.java Thu Oct 17 20:27:44 2019 +0100
+++ b/src/java.base/linux/classes/sun/nio/fs/LinuxNativeDispatcher.java Thu Oct 17 20:53:35 2019 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -25,9 +25,6 @@
package sun.nio.fs;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
/**
* Linux specific system calls.
*/
@@ -54,7 +51,17 @@
/**
* int getmntent(FILE *fp, struct mnttab *mp, int len);
*/
- static native int getmntent(long fp, UnixMountEntry entry)
+
+ static int getmntent(long fp, UnixMountEntry entry, int buflen) throws UnixException {
+ NativeBuffer buffer = NativeBuffers.getNativeBuffer(buflen);
+ try {
+ return getmntent0(fp, entry, buffer.address(), buflen);
+ } finally {
+ buffer.release();
+ }
+ }
+
+ static native int getmntent0(long fp, UnixMountEntry entry, long buffer, int bufLen)
throws UnixException;
/**
@@ -121,11 +128,7 @@
private static native void init();
static {
- AccessController.doPrivileged(new PrivilegedAction<>() {
- public Void run() {
- System.loadLibrary("nio");
- return null;
- }});
+ jdk.internal.loader.BootLoader.loadLibrary("nio");
init();
}
}