Program: 62095
Project: 62095
Buggy source:
/** 
 * @param args the command line arguments
 * @throws IOException
 */
public static void main(String[] args) throws IOException {
  loadProperties();
  View.setLookAndFeel();
  Configuration.loadFromFile(getConfigFile(),getReplacementsFile());
  if ((Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE)) {
    Cache.setStorageType(Cache.STORAGE_FILES);
  }
 else {
    Cache.setStorageType(Cache.STORAGE_MEMORY);
  }
  int pos=0;
  if (args.length > 0) {
    if (args[0].equals("String_Node_Str")) {
      Configuration.debugMode=true;
      pos++;
    }
  }
  initLogging(Configuration.debugMode);
  if (args.length < pos + 1) {
    autoCheckForUpdates();
    offerAssociation();
    showModeFrame();
  }
 else {
    if (args[pos].equals("String_Node_Str")) {
      addToContextMenu(false);
    }
 else     if (args[pos].equals("String_Node_Str")) {
      addToContextMenu(true);
    }
 else     if (args[pos].equals("String_Node_Str")) {
      int port=55555;
      for (int i=pos; i < args.length; i++) {
        if (args[i].startsWith("String_Node_Str")) {
          try {
            port=Integer.parseInt(args[pos].substring(2));
          }
 catch (          NumberFormatException nex) {
            System.err.println("String_Node_Str");
          }
        }
      }
      if (proxyFrame == null) {
        proxyFrame=new ProxyFrame();
      }
      proxyFrame.setPort(port);
      addTrayIcon();
      switchProxy();
    }
 else     if (args[pos].equals("String_Node_Str")) {
      if (args.length < pos + 4) {
        badArguments();
      }
      String validExportFormats[]=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
      String exportFormat=args[pos + 1].toLowerCase();
      if (!Arrays.asList(validExportFormats).contains(exportFormat)) {
        System.err.println("String_Node_Str" + exportFormat);
        badArguments();
      }
      File outDir=new File(args[pos + 2]);
      File inFile=new File(args[pos + 3]);
      if (!inFile.exists()) {
        System.err.println("String_Node_Str");
        badArguments();
      }
      commandLineMode=true;
      boolean exportOK;
      try {
        printHeader();
        SWF exfile=new SWF(new FileInputStream(inFile),(Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE));
        exfile.addEventListener(new EventListener(){
          @Override public void handleEvent(          String event,          Object data){
            if (event.equals("String_Node_Str")) {
              System.out.println((String)data);
            }
          }
        }
);
switch (exportFormat) {
case "String_Node_Str":
          System.out.println("String_Node_Str");
        exfile.exportImages(outDir.getAbsolutePath() + File.separator + "String_Node_Str");
      System.out.println("String_Node_Str");
    exfile.exportShapes(outDir.getAbsolutePath() + File.separator + "String_Node_Str");
  System.out.println("String_Node_Str");
exfile.exportActionScript(outDir.getAbsolutePath() + File.separator + "String_Node_Str",false,(Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE));
System.out.println("String_Node_Str");
exfile.exportMovies(outDir.getAbsolutePath() + File.separator + "String_Node_Str");
System.out.println("String_Node_Str");
exfile.exportSounds(outDir.getAbsolutePath() + File.separator + "String_Node_Str",true,true);
System.out.println("String_Node_Str");
exfile.exportBinaryData(outDir.getAbsolutePath() + File.separator + "String_Node_Str");
System.out.println("String_Node_Str");
exfile.exportTexts(outDir.getAbsolutePath() + File.separator + "String_Node_Str",true);
exportOK=true;
break;
case "String_Node_Str":
exfile.exportImages(outDir.getAbsolutePath());
exportOK=true;
break;
case "String_Node_Str":
exfile.exportShapes(outDir.getAbsolutePath());
exportOK=true;
break;
case "String_Node_Str":
case "String_Node_Str":
if ((pos + 5 < args.length) && (args[pos + 4].equals("String_Node_Str"))) {
exportOK=true;
for (int i=pos + 5; i < args.length; i++) {
exportOK=exportOK && exfile.exportAS3Class(args[i],outDir.getAbsolutePath(),exportFormat.equals("String_Node_Str"),(Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE));
}
}
 else {
exportOK=!exfile.exportActionScript(outDir.getAbsolutePath(),exportFormat.equals("String_Node_Str"),(Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE)).isEmpty();
}
break;
case "String_Node_Str":
exfile.exportMovies(outDir.getAbsolutePath());
exportOK=true;
break;
case "String_Node_Str":
exfile.exportSounds(outDir.getAbsolutePath(),true,true);
exportOK=true;
break;
case "String_Node_Str":
exfile.exportBinaryData(outDir.getAbsolutePath());
exportOK=true;
break;
case "String_Node_Str":
exfile.exportTexts(outDir.getAbsolutePath(),true);
exportOK=true;
break;
case "String_Node_Str":
exfile.exportTexts(outDir.getAbsolutePath(),false);
exportOK=true;
break;
case "String_Node_Str":
exfile.exportFla(outDir.getAbsolutePath(),inFile.getName(),applicationName,applicationVerName,version,(Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE));
exportOK=true;
break;
case "String_Node_Str":
exfile.exportXfl(outDir.getAbsolutePath(),inFile.getName(),applicationName,applicationVerName,version,(Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE));
exportOK=true;
break;
default :
exportOK=false;
}
}
 catch (Exception ex) {
exportOK=false;
System.err.print("String_Node_Str");
Logger.getLogger(Main.class.getName()).log(Level.SEVERE,null,ex);
System.exit(1);
}
if (exportOK) {
System.out.println("String_Node_Str");
System.exit(0);
}
 else {
System.err.println("String_Node_Str");
System.exit(1);
}
}
 else if (args[pos].equals("String_Node_Str")) {
if (args.length < pos + 3) {
badArguments();
}
if (SWF.fws2cws(new FileInputStream(args[pos + 1]),new FileOutputStream(args[pos + 2]))) {
System.out.println("String_Node_Str");
}
 else {
System.err.println("String_Node_Str");
}
}
 else if (args[pos].equals("String_Node_Str")) {
if (args.length < pos + 3) {
badArguments();
}
if (SWF.decompress(new FileInputStream(args[pos + 1]),new FileOutputStream(args[pos + 2]))) {
System.out.println("String_Node_Str");
System.exit(0);
}
 else {
System.err.println("String_Node_Str");
System.exit(1);
}
}
 else if (args[pos].equals("String_Node_Str")) {
if (args.length < pos + 2) {
badArguments();
}
try {
Configuration.dump_tags=true;
SWF swf=parseSWF(args[pos + 1]);
}
 catch (Exception ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE,null,ex);
System.exit(1);
}
System.exit(0);
}
 else if (args[pos].equals("String_Node_Str") || args[pos].equals("String_Node_Str") || args[pos].equals("String_Node_Str")) {
printHeader();
printCmdLineUsage();
System.exit(0);
}
 else if (args.length == pos + 1) {
autoCheckForUpdates();
offerAssociation();
openFile(args[pos]);
}
 else {
badArguments();
}
}
}

Fixed version (ground truth):
/** 
 * @param args the command line arguments
 * @throws IOException
 */
public static void main(String[] args) throws IOException {
  Locale.setDefault(Locale.GERMAN);
  loadProperties();
  View.setLookAndFeel();
  Configuration.loadFromFile(getConfigFile(),getReplacementsFile());
  if ((Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE)) {
    Cache.setStorageType(Cache.STORAGE_FILES);
  }
 else {
    Cache.setStorageType(Cache.STORAGE_MEMORY);
  }
  int pos=0;
  if (args.length > 0) {
    if (args[0].equals("String_Node_Str")) {
      Configuration.debugMode=true;
      pos++;
    }
  }
  initLogging(Configuration.debugMode);
  if (args.length < pos + 1) {
    autoCheckForUpdates();
    offerAssociation();
    showModeFrame();
  }
 else {
    if (args[pos].equals("String_Node_Str")) {
      addToContextMenu(false);
    }
 else     if (args[pos].equals("String_Node_Str")) {
      addToContextMenu(true);
    }
 else     if (args[pos].equals("String_Node_Str")) {
      int port=55555;
      for (int i=pos; i < args.length; i++) {
        if (args[i].startsWith("String_Node_Str")) {
          try {
            port=Integer.parseInt(args[pos].substring(2));
          }
 catch (          NumberFormatException nex) {
            System.err.println("String_Node_Str");
          }
        }
      }
      if (proxyFrame == null) {
        proxyFrame=new ProxyFrame();
      }
      proxyFrame.setPort(port);
      addTrayIcon();
      switchProxy();
    }
 else     if (args[pos].equals("String_Node_Str")) {
      if (args.length < pos + 4) {
        badArguments();
      }
      String validExportFormats[]=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
      String exportFormat=args[pos + 1].toLowerCase();
      if (!Arrays.asList(validExportFormats).contains(exportFormat)) {
        System.err.println("String_Node_Str" + exportFormat);
        badArguments();
      }
      File outDir=new File(args[pos + 2]);
      File inFile=new File(args[pos + 3]);
      if (!inFile.exists()) {
        System.err.println("String_Node_Str");
        badArguments();
      }
      commandLineMode=true;
      boolean exportOK;
      try {
        printHeader();
        SWF exfile=new SWF(new FileInputStream(inFile),(Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE));
        exfile.addEventListener(new EventListener(){
          @Override public void handleEvent(          String event,          Object data){
            if (event.equals("String_Node_Str")) {
              System.out.println((String)data);
            }
          }
        }
);
switch (exportFormat) {
case "String_Node_Str":
          System.out.println("String_Node_Str");
        exfile.exportImages(outDir.getAbsolutePath() + File.separator + "String_Node_Str");
      System.out.println("String_Node_Str");
    exfile.exportShapes(outDir.getAbsolutePath() + File.separator + "String_Node_Str");
  System.out.println("String_Node_Str");
exfile.exportActionScript(outDir.getAbsolutePath() + File.separator + "String_Node_Str",false,(Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE));
System.out.println("String_Node_Str");
exfile.exportMovies(outDir.getAbsolutePath() + File.separator + "String_Node_Str");
System.out.println("String_Node_Str");
exfile.exportSounds(outDir.getAbsolutePath() + File.separator + "String_Node_Str",true,true);
System.out.println("String_Node_Str");
exfile.exportBinaryData(outDir.getAbsolutePath() + File.separator + "String_Node_Str");
System.out.println("String_Node_Str");
exfile.exportTexts(outDir.getAbsolutePath() + File.separator + "String_Node_Str",true);
exportOK=true;
break;
case "String_Node_Str":
exfile.exportImages(outDir.getAbsolutePath());
exportOK=true;
break;
case "String_Node_Str":
exfile.exportShapes(outDir.getAbsolutePath());
exportOK=true;
break;
case "String_Node_Str":
case "String_Node_Str":
if ((pos + 5 < args.length) && (args[pos + 4].equals("String_Node_Str"))) {
exportOK=true;
for (int i=pos + 5; i < args.length; i++) {
exportOK=exportOK && exfile.exportAS3Class(args[i],outDir.getAbsolutePath(),exportFormat.equals("String_Node_Str"),(Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE));
}
}
 else {
exportOK=!exfile.exportActionScript(outDir.getAbsolutePath(),exportFormat.equals("String_Node_Str"),(Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE)).isEmpty();
}
break;
case "String_Node_Str":
exfile.exportMovies(outDir.getAbsolutePath());
exportOK=true;
break;
case "String_Node_Str":
exfile.exportSounds(outDir.getAbsolutePath(),true,true);
exportOK=true;
break;
case "String_Node_Str":
exfile.exportBinaryData(outDir.getAbsolutePath());
exportOK=true;
break;
case "String_Node_Str":
exfile.exportTexts(outDir.getAbsolutePath(),true);
exportOK=true;
break;
case "String_Node_Str":
exfile.exportTexts(outDir.getAbsolutePath(),false);
exportOK=true;
break;
case "String_Node_Str":
exfile.exportFla(outDir.getAbsolutePath(),inFile.getName(),applicationName,applicationVerName,version,(Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE));
exportOK=true;
break;
case "String_Node_Str":
exfile.exportXfl(outDir.getAbsolutePath(),inFile.getName(),applicationName,applicationVerName,version,(Boolean)Configuration.getConfig("String_Node_Str",Boolean.TRUE));
exportOK=true;
break;
default :
exportOK=false;
}
}
 catch (Exception ex) {
exportOK=false;
System.err.print("String_Node_Str");
Logger.getLogger(Main.class.getName()).log(Level.SEVERE,null,ex);
System.exit(1);
}
if (exportOK) {
System.out.println("String_Node_Str");
System.exit(0);
}
 else {
System.err.println("String_Node_Str");
System.exit(1);
}
}
 else if (args[pos].equals("String_Node_Str")) {
if (args.length < pos + 3) {
badArguments();
}
if (SWF.fws2cws(new FileInputStream(args[pos + 1]),new FileOutputStream(args[pos + 2]))) {
System.out.println("String_Node_Str");
}
 else {
System.err.println("String_Node_Str");
}
}
 else if (args[pos].equals("String_Node_Str")) {
if (args.length < pos + 3) {
badArguments();
}
if (SWF.decompress(new FileInputStream(args[pos + 1]),new FileOutputStream(args[pos + 2]))) {
System.out.println("String_Node_Str");
System.exit(0);
}
 else {
System.err.println("String_Node_Str");
System.exit(1);
}
}
 else if (args[pos].equals("String_Node_Str")) {
if (args.length < pos + 2) {
badArguments();
}
try {
Configuration.dump_tags=true;
SWF swf=parseSWF(args[pos + 1]);
}
 catch (Exception ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE,null,ex);
System.exit(1);
}
System.exit(0);
}
 else if (args[pos].equals("String_Node_Str") || args[pos].equals("String_Node_Str") || args[pos].equals("String_Node_Str")) {
printHeader();
printCmdLineUsage();
System.exit(0);
}
 else if (args.length == pos + 1) {
autoCheckForUpdates();
offerAssociation();
openFile(args[pos]);
}
 else {
badArguments();
}
}
}