< prev index next >
core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/util/ChunkReader.java
Print this page
@@ -197,16 +197,26 @@
return new DataInputStream(new BufferedInputStream(is));
}
@Override
public boolean hasNext() {
+ boolean hasNext = false;
if (streamState == StreamState.NEXT_CHUNK) {
- return validateJFRMagic();
+ hasNext = validateJFRMagic();
} else if (streamState == StreamState.JFR_CHECKED) {
- return true;
+ hasNext = true;
}
- return false;
+ if (!hasNext) {
+ if (inputStream != null) {
+ try {
+ inputStream.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return hasNext;
}
private boolean validateJFRMagic() {
try {
if (IOToolkit.hasMagic(inputStream, JFR_MAGIC)) {
< prev index next >