--- old/src/java.base/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2019-07-18 12:54:42.000000000 -0700 +++ new/src/java.base/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2019-07-18 12:54:41.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2016, 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 @@ -75,8 +75,6 @@ */ static class LimitedBuffer extends BufferedInputStream { - static final InputStream NULL_STREAM = InputStream.nullInputStream(); - long served; // total number of charburgers served int servedPos; // ...as of this value of super.pos long limit; // current declared limit @@ -125,7 +123,7 @@ throw new RuntimeException("no skipping"); } LimitedBuffer(InputStream originalIn) { - super(NULL_STREAM, 1<<14); + super(null, 1<<14); servedPos = pos; super.in = new FilterInputStream(originalIn) { public int read() throws IOException { --- old/src/java.base/share/classes/java/io/FilterInputStream.java 2019-07-18 12:54:42.000000000 -0700 +++ new/src/java.base/share/classes/java/io/FilterInputStream.java 2019-07-18 12:54:42.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 2017, 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 @@ -59,9 +59,6 @@ * this instance is to be created without an underlying stream. */ protected FilterInputStream(InputStream in) { - if (in == null) { - throw new NullPointerException(); - } this.in = in; } --- old/src/java.base/share/classes/java/io/FilterOutputStream.java 2019-07-18 12:54:43.000000000 -0700 +++ new/src/java.base/share/classes/java/io/FilterOutputStream.java 2019-07-18 12:54:43.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 2017, 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 @@ -67,10 +67,6 @@ * created without an underlying stream. */ public FilterOutputStream(OutputStream out) { - if (out == null) { - throw new NullPointerException(); - } - this.out = out; } --- old/src/java.base/share/classes/sun/net/www/content/text/plain.java 2019-07-18 12:54:44.000000000 -0700 +++ new/src/java.base/share/classes/sun/net/www/content/text/plain.java 2019-07-18 12:54:43.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 1996, 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 @@ -40,10 +40,7 @@ public Object getContent(URLConnection uc) { try { InputStream is = uc.getInputStream(); - if (is == null) { - is = InputStream.nullInputStream(); - } - return new PlainTextInputStream(is); + return new PlainTextInputStream(uc.getInputStream()); } catch (IOException e) { return "Error reading document:\n" + e.toString(); } --- old/test/jdk/java/io/NegativeInitSize.java 2019-07-18 12:54:45.000000000 -0700 +++ new/test/jdk/java/io/NegativeInitSize.java 2019-07-18 12:54:44.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -49,10 +49,8 @@ ("PushbackReader failed to detect negative init size"); } - byte[] ba = { 123 }; - ByteArrayInputStream goodbis = new ByteArrayInputStream(ba); try { - PushbackInputStream pbis = new PushbackInputStream(goodbis, -1); + PushbackInputStream pbis = new PushbackInputStream(null, -1); } catch (IllegalArgumentException e) { } catch (Exception e) { throw new Exception @@ -68,6 +66,8 @@ ("BufferedOutputStream failed to detect negative init size"); } + byte[] ba = { 123 }; + ByteArrayInputStream goodbis = new ByteArrayInputStream(ba); try { BufferedInputStream bis = new BufferedInputStream(goodbis, -1); } catch (IllegalArgumentException e) { --- old/test/jdk/java/io/NPETests.java 2019-07-18 12:54:45.000000000 -0700 +++ /dev/null 2019-07-18 12:54:45.000000000 -0700 @@ -1,77 +0,0 @@ -/* - * Copyright (c) 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. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.PushbackInputStream; - -import org.testng.annotations.Test; -import static org.testng.Assert.*; - -/* - * @test - * @bug 8067801 - * @run testng NPETests - * @summary Ensure constructors throw NPE when passed a null stream - */ -public class NPETests { - - @Test - public static void BufferedInputStreamConstructor() { - assertThrows(NullPointerException.class, - () -> new BufferedInputStream(null)); - assertThrows(NullPointerException.class, - () -> new BufferedInputStream(null, 42)); - } - - @Test - public static void DataInputStreamConstructor() { - assertThrows(NullPointerException.class, - () -> new DataInputStream(null)); - } - - @Test - public static void PushbackInputStreamConstructor() { - assertThrows(NullPointerException.class, - () -> new PushbackInputStream(null)); - assertThrows(NullPointerException.class, - () -> new PushbackInputStream(null, 42)); - } - - @Test - public static void BufferedOutputStreamConstructor() { - assertThrows(NullPointerException.class, - () -> new BufferedOutputStream(null)); - assertThrows(NullPointerException.class, - () -> new BufferedOutputStream(null, 42)); - } - - @Test - public static void DataOutputStreamConstructor() { - assertThrows(NullPointerException.class, - () -> new DataOutputStream(null)); - } -}