Program: 186856
Project: 186856
Buggy source:
/** 
 * Load the config file, parse and check options.
 * @param args cmdline arguments to parse
 * @return arguments not consumed.
 */
public String[] setupConfig(String[] args){
  if (configFilename != null) {
    File file=findConfigFile(configFilename);
    if (file != null && file.exists()) {
      try {
        InputStream is=new BufferedInputStream(new FileInputStream(file));
        config.addProperties(is);
      }
 catch (      FileNotFoundException e) {
        System.err.println("String_Node_Str" + configFilename + "String_Node_Str"+ e.getMessage());
      }
catch (      IOException e) {
        System.err.println("String_Node_Str" + file + "String_Node_Str"+ e.getMessage());
        System.exit(3);
      }
    }
  }
  String[] rest=null;
  try {
    rest=config.parseArguments(args);
    config.checkOptions();
  }
 catch (  Config.BadConfigurationException e) {
    System.err.println(e.getMessage());
    if (config.getOptions().containsOption(Config.SHOW_HELP)) {
      System.err.println("String_Node_Str");
    }
    System.exit(2);
  }
  if (config.getOption(Config.SHOW_HELP)) {
    printUsage();
    System.exit(0);
  }
  if (config.getOption(Config.SHOW_VERSION)) {
    printVersion();
    System.exit(0);
  }
  if (config.getOption(Config.SHOW_CONFIG)) {
    config.printConfiguration(config.getDefaultIndent());
    System.exit(0);
  }
  try {
    for (    String tool : tools.keySet()) {
      if (useTool(tool)) {
        tools.get(tool).onSetupConfig(this);
      }
    }
  }
 catch (  Config.BadConfigurationException e) {
    System.err.println(e.getMessage());
    if (config.getOptions().containsOption(Config.SHOW_HELP)) {
      System.err.println("String_Node_Str");
    }
    System.exit(2);
  }
  return rest;
}

Fixed version (ground truth):
/** 
 * Load the config file, parse and check options.
 * @param args cmdline arguments to parse
 * @return arguments not consumed.
 */
public String[] setupConfig(String[] args){
  if (configFilename != null) {
    File file=findConfigFile(configFilename);
    if (file != null && file.exists()) {
      try {
        InputStream is=new BufferedInputStream(new FileInputStream(file));
        config.addProperties(is);
        is.close();
      }
 catch (      FileNotFoundException e) {
        System.err.println("String_Node_Str" + configFilename + "String_Node_Str"+ e.getMessage());
      }
catch (      IOException e) {
        System.err.println("String_Node_Str" + file + "String_Node_Str"+ e.getMessage());
        System.exit(3);
      }
    }
  }
  String[] rest=null;
  try {
    rest=config.parseArguments(args);
    config.checkOptions();
  }
 catch (  Config.BadConfigurationException e) {
    System.err.println(e.getMessage());
    if (config.getOptions().containsOption(Config.SHOW_HELP)) {
      System.err.println("String_Node_Str");
    }
    System.exit(2);
  }
  if (config.getOption(Config.SHOW_HELP)) {
    printUsage();
    System.exit(0);
  }
  if (config.getOption(Config.SHOW_VERSION)) {
    printVersion();
    System.exit(0);
  }
  if (config.getOption(Config.SHOW_CONFIG)) {
    config.printConfiguration(config.getDefaultIndent());
    System.exit(0);
  }
  try {
    for (    String tool : tools.keySet()) {
      if (useTool(tool)) {
        tools.get(tool).onSetupConfig(this);
      }
    }
  }
 catch (  Config.BadConfigurationException e) {
    System.err.println(e.getMessage());
    if (config.getOptions().containsOption(Config.SHOW_HELP)) {
      System.err.println("String_Node_Str");
    }
    System.exit(2);
  }
  return rest;
}