8228392: Backout incorrect change done by JDK-8067801

Reviewed-by: lancea
This commit is contained in:
Brian Burkhalter 2019-07-18 17:10:33 -07:00
parent e396e38bb3
commit ba9c952f87
6 changed files with 10 additions and 99 deletions

View File

@ -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 @@ class PackageReader extends BandStructure {
*/
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 @@ class PackageReader extends BandStructure {
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 {

View File

@ -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 @@ class FilterInputStream extends InputStream {
* this instance is to be created without an underlying stream.
*/
protected FilterInputStream(InputStream in) {
if (in == null) {
throw new NullPointerException();
}
this.in = in;
}

View File

@ -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 @@ public class FilterOutputStream extends OutputStream {
* created without an underlying stream.
*/
public FilterOutputStream(OutputStream out) {
if (out == null) {
throw new NullPointerException();
}
this.out = out;
}

View File

@ -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 class plain extends ContentHandler {
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();
}

View File

@ -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));
}
}

View File

@ -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 @@ public class NegativeInitSize {
("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 @@ public class NegativeInitSize {
("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) {