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