< prev index next >

src/java.base/share/classes/jdk/internal/jimage/ImageHeader.java

Print this page
rev 14631 : 8156209: Add argument checks to BasicImageReader calls
Reviewed-by: sundar

@@ -25,10 +25,11 @@
 
 package jdk.internal.jimage;
 
 import java.nio.ByteBuffer;
 import java.nio.IntBuffer;
+import java.util.Objects;
 
 /**
  * @implNote This class needs to maintain JDK 8 source compatibility.
  *
  * It is used internally in the JDK to implement jimage/jrtfs access,

@@ -73,10 +74,12 @@
     public static int getHeaderSize() {
        return HEADER_SLOTS * 4;
     }
 
     static ImageHeader readFrom(IntBuffer buffer) {
+        Objects.requireNonNull(buffer);
+        
         if (buffer.capacity() != HEADER_SLOTS) {
             throw new InternalError("jimage header not the correct size");
         }
 
         int magic = buffer.get(0);

@@ -92,15 +95,17 @@
         return new ImageHeader(magic, majorVersion, minorVersion, flags,
             resourceCount, tableLength, locationsSize, stringsSize);
     }
 
     public void writeTo(ImageStream stream) {
+        Objects.requireNonNull(stream);
         stream.ensure(getHeaderSize());
         writeTo(stream.getBuffer());
     }
 
     public void writeTo(ByteBuffer buffer) {
+        Objects.requireNonNull(buffer);
         buffer.putInt(magic);
         buffer.putInt(majorVersion << 16 | minorVersion);
         buffer.putInt(flags);
         buffer.putInt(resourceCount);
         buffer.putInt(tableLength);
< prev index next >