Program: 72380
Project: 72380
Buggy source:
/** 
 * Read results of a ping on a Windows platform.  If a device is found, add a JSON object containing the device IP address and name to _ipMap.
 * @param process  The process that is executing the ping.
 * @param testIP  The IP address to base the sweep on.
 */
private void _readPingWindows(Process process,String testIP){
  JSONObject device=null;
  BufferedReader stdOut=null;
  try {
    stdOut=new BufferedReader(new InputStreamReader(process.getInputStream()));
    StringBuffer data=new StringBuffer();
    String line;
    while ((line=stdOut.readLine()) != null) {
      data.append(line);
    }
    if (data.length() > 0) {
      int found=data.indexOf("String_Node_Str");
      if (found != -1) {
        int bracket=data.indexOf("String_Node_Str");
        String name=data.substring(8,bracket - 1);
        if (_debugging) {
          System.out.println("String_Node_Str" + name + "String_Node_Str"+ testIP);
        }
        try {
          device=new JSONObject("String_Node_Str" + testIP + "String_Node_Str"+ "String_Node_Str"+ name+ "String_Node_Str");
        }
 catch (        JSONException e) {
          System.err.println("String_Node_Str" + name + "String_Node_Str"+ "String_Node_Str");
        }
      }
    }
    process.destroy();
  }
 catch (  IOException ex) {
    System.err.println("String_Node_Str" + testIP + "String_Node_Str"+ ex);
  }
 finally {
    if (stdOut != null) {
      try {
        stdOut.close();
      }
 catch (      IOException ex2) {
        System.err.println("String_Node_Str" + testIP + "String_Node_Str"+ ex2);
      }
    }
  }
  if (device != null) {
    _ipMap.put(testIP,device);
  }
}

Fixed version (ground truth):
/** 
 * Read results of a ping on a Windows platform.  If a device is found, add a JSON object containing the device IP address and name to _ipMap.
 * @param process  The process that is executing the ping.
 * @param testIP  The IP address to base the sweep on.
 */
private void _readPingWindows(Process process,String testIP){
  JSONObject device=null;
  BufferedReader stdOut=null;
  try {
    stdOut=new BufferedReader(new InputStreamReader(process.getInputStream(),"String_Node_Str"));
    StringBuffer data=new StringBuffer();
    String line;
    while ((line=stdOut.readLine()) != null) {
      data.append(line);
    }
    if (data.length() > 0) {
      int found=data.indexOf("String_Node_Str");
      if (found != -1) {
        int bracket=data.indexOf("String_Node_Str");
        String name=data.substring(8,bracket - 1);
        if (_debugging) {
          System.out.println("String_Node_Str" + name + "String_Node_Str"+ testIP);
        }
        try {
          device=new JSONObject("String_Node_Str" + testIP + "String_Node_Str"+ "String_Node_Str"+ name+ "String_Node_Str");
        }
 catch (        JSONException e) {
          System.err.println("String_Node_Str" + name + "String_Node_Str"+ "String_Node_Str");
        }
      }
    }
    process.destroy();
  }
 catch (  IOException ex) {
    System.err.println("String_Node_Str" + testIP + "String_Node_Str"+ ex);
  }
 finally {
    if (stdOut != null) {
      try {
        stdOut.close();
      }
 catch (      IOException ex2) {
        System.err.println("String_Node_Str" + testIP + "String_Node_Str"+ ex2);
      }
    }
  }
  if (device != null) {
    _ipMap.put(testIP,device);
  }
}