Skip to content

Commit 744bafb

Browse files
committed
Do not allow jdk.internal.jimage.NativeImageBuffer at image-runtime
1 parent c629a5c commit 744bafb

File tree

2 files changed

+18
-48
lines changed

2 files changed

+18
-48
lines changed

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/JRTSupport.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.io.IOException;
2929
import java.net.URL;
3030
import java.net.URLConnection;
31+
import java.nio.ByteBuffer;
3132
import java.nio.file.Path;
3233
import java.util.Arrays;
3334
import java.util.HashMap;
@@ -178,3 +179,20 @@ final class Target_jdk_internal_jrtfs_JrtFileSystemProvider_JRTDisabled {
178179
}
179180

180181
// endregion Disable jimage/jrtfs
182+
183+
@TargetClass(className = "jdk.internal.jimage.BasicImageReader")
184+
final class Target_jdk_internal_jimage_BasicImageReader {
185+
/* Ensure NativeImageBuffer never gets used as part of using BasicImageReader */
186+
@Alias //
187+
@RecomputeFieldValue(kind = RecomputeFieldValue.Kind.FromAlias, isFinal = true) //
188+
static boolean USE_JVM_MAP = false;
189+
}
190+
191+
@TargetClass(className = "jdk.internal.jimage.NativeImageBuffer")
192+
@Substitute
193+
final class Target_jdk_internal_jimage_NativeImageBuffer {
194+
@Substitute
195+
static ByteBuffer getNativeMap(String imagePath) {
196+
throw VMError.unsupportedFeature("Using jdk.internal.jimage.NativeImageBuffer is not supported");
197+
}
198+
}

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JRTFeature.java

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)