From db4ca5c266797c072f8954265da9d191163a6820 Mon Sep 17 00:00:00 2001 From: Honfika Date: Sun, 24 Nov 2013 19:36:34 +0100 Subject: [PATCH] renaming identifiers: handle empty stack (probably never executed branch) --- trunk/src/com/jpexs/decompiler/flash/SWF.java | 4 ++++ trunk/src/com/jpexs/decompiler/flash/gui/MainFrame.java | 2 ++ 2 files changed, 6 insertions(+) diff --git a/trunk/src/com/jpexs/decompiler/flash/SWF.java b/trunk/src/com/jpexs/decompiler/flash/SWF.java index 6244066d3..f66bcdebc 100644 --- a/trunk/src/com/jpexs/decompiler/flash/SWF.java +++ b/trunk/src/com/jpexs/decompiler/flash/SWF.java @@ -122,6 +122,7 @@ import java.io.OutputStream; import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; +import java.util.EmptyStackException; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -1735,6 +1736,9 @@ public final class SWF { try { ins.translate(localData, stack, output, staticOperation, path); + } catch (EmptyStackException ex) { + // probably obfucated code, never executed branch + break; } catch (InterruptedException ex) { Logger.getLogger(SWF.class.getName()).log(Level.SEVERE, "Error during getting variables", ex); } diff --git a/trunk/src/com/jpexs/decompiler/flash/gui/MainFrame.java b/trunk/src/com/jpexs/decompiler/flash/gui/MainFrame.java index 8e63187fd..ae85e55a2 100644 --- a/trunk/src/com/jpexs/decompiler/flash/gui/MainFrame.java +++ b/trunk/src/com/jpexs/decompiler/flash/gui/MainFrame.java @@ -2911,6 +2911,8 @@ public final class MainFrame extends AppRibbonFrame implements ActionListener, T reload(true); } catch (Exception ex) { Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, "Error during renaming identifiers", ex); + Main.stopWork(); + View.showMessageDialog(null, translate("error.occured").replace("%error%", ex.getClass().getSimpleName())); } return true; }