diff --git a/trunk/src/com/jpexs/decompiler/flash/SWFInputStream.java b/trunk/src/com/jpexs/decompiler/flash/SWFInputStream.java index 6914598cf..ed71a24f5 100644 --- a/trunk/src/com/jpexs/decompiler/flash/SWFInputStream.java +++ b/trunk/src/com/jpexs/decompiler/flash/SWFInputStream.java @@ -1166,10 +1166,14 @@ public class SWFInputStream extends InputStream { List> futureResults = new ArrayList<>(); List tags = new ArrayList<>(); Tag tag; - Tag previousTag = null; + Tag previousTag = null; while (true) { long pos = getPos(); - tag = readTag(level, pos, false); + try{ + tag = readTag(level, pos, false); + }catch(EndOfStreamException ex){ + tag=null; + } if (tag == null) { break; } @@ -1181,8 +1185,7 @@ public class SWFInputStream extends InputStream { Future future = executor.submit(new TagResolutionTask(tag, version, level)); futureResults.add(future); - } - executor.shutdown(); + } for (Future future : futureResults) { try { @@ -1191,6 +1194,7 @@ public class SWFInputStream extends InputStream { Logger.getLogger(SWFInputStream.class.getName()).log(Level.SEVERE, "Error during tag reading", e); } } + executor.shutdown(); return tags; }