Program: 72379
Project: 72379
Buggy source:
/** 
 * Execute the arp command on a Linux platform.  The arp command finds names and MAC addresses for devices on the local area network. The arp command should follow a ping sweep to get the most up-to-date information and to screen out devices that are not accessible at the moment (which may be cached in the arp cache).
 */
private void _arpLinux(){
  if (_ipMap.size() == 0) {
    System.err.println("String_Node_Str" + _pingLinuxCommand + "String_Node_Str");
  }
  try {
    Process process=Runtime.getRuntime().exec(_arpCommand);
    BufferedReader stdOut=null;
    try {
      stdOut=new BufferedReader(new InputStreamReader(process.getInputStream()));
      String line;
      while ((line=stdOut.readLine()) != null) {
        if (_debugging) {
          System.out.println("String_Node_Str" + line + "String_Node_Str");
        }
        StringTokenizer tokenizer=new StringTokenizer(line,"String_Node_Str");
        String token, name, ip;
        if (tokenizer.countTokens() >= 4) {
          name=(String)tokenizer.nextElement();
          token=(String)tokenizer.nextElement();
          ip=token.substring(1,token.length() - 1);
          if (_debugging) {
            System.out.println("String_Node_Str" + name + "String_Node_Str"+ token+ "String_Node_Str"+ ip);
          }
          JSONObject object;
          for (          String key : _ipMap.keySet()) {
            object=_ipMap.get(key);
            if (object.get("String_Node_Str").toString().equalsIgnoreCase(ip)) {
              token=(String)tokenizer.nextElement();
              token=(String)tokenizer.nextElement();
              object.put("String_Node_Str",name);
              object.put("String_Node_Str",token);
              _ipMap.put(key,object);
            }
          }
        }
      }
    }
  finally {
      if (stdOut != null) {
        stdOut.close();
      }
    }
  }
 catch (  IOException e) {
    System.err.println("String_Node_Str" + _arpCommand);
  }
catch (  JSONException e2) {
    System.err.println("String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * Execute the arp command on a Linux platform.  The arp command finds names and MAC addresses for devices on the local area network. The arp command should follow a ping sweep to get the most up-to-date information and to screen out devices that are not accessible at the moment (which may be cached in the arp cache).
 */
private void _arpLinux(){
  if (_ipMap.size() == 0) {
    System.err.println("String_Node_Str" + _pingLinuxCommand + "String_Node_Str");
  }
  try {
    Process process=Runtime.getRuntime().exec(_arpCommand);
    BufferedReader stdOut=null;
    try {
      stdOut=new BufferedReader(new InputStreamReader(process.getInputStream(),"String_Node_Str"));
      String line;
      while ((line=stdOut.readLine()) != null) {
        if (_debugging) {
          System.out.println("String_Node_Str" + line + "String_Node_Str");
        }
        StringTokenizer tokenizer=new StringTokenizer(line,"String_Node_Str");
        String token, name, ip;
        if (tokenizer.countTokens() >= 4) {
          name=(String)tokenizer.nextElement();
          token=(String)tokenizer.nextElement();
          ip=token.substring(1,token.length() - 1);
          if (_debugging) {
            System.out.println("String_Node_Str" + name + "String_Node_Str"+ token+ "String_Node_Str"+ ip);
          }
          JSONObject object;
          for (          String key : _ipMap.keySet()) {
            object=_ipMap.get(key);
            if (object.get("String_Node_Str").toString().equalsIgnoreCase(ip)) {
              token=(String)tokenizer.nextElement();
              token=(String)tokenizer.nextElement();
              object.put("String_Node_Str",name);
              object.put("String_Node_Str",token);
              _ipMap.put(key,object);
            }
          }
        }
      }
    }
  finally {
      if (stdOut != null) {
        stdOut.close();
      }
    }
  }
 catch (  IOException e) {
    System.err.println("String_Node_Str" + _arpCommand);
  }
catch (  JSONException e2) {
    System.err.println("String_Node_Str");
  }
}