Program: 4558
Project: 4558
Buggy source:
private void requestFromOneHost(GWebCacheRequest request,BootstrapServer server){
  if (request == null) {
    throw new NullPointerException("String_Node_Str");
  }
  if (server == null) {
    throw new NullPointerException("String_Node_Str");
  }
  BufferedReader in=null;
  String connectTo=server.getURL().toString() + "String_Node_Str" + CommonUtils.QHD_VENDOR_NAME+ "String_Node_Str"+ URLEncoder.encode(CommonUtils.getLimeWireVersion())+ "String_Node_Str"+ request.parameters();
  HttpMethod get=new GetMethod(connectTo);
  get.addRequestHeader("String_Node_Str","String_Node_Str");
  get.addRequestHeader("String_Node_Str",CommonUtils.getHttpServer());
  get.addRequestHeader(HTTPHeaderName.CONNECTION.httpStringValue(),"String_Node_Str");
  get.setFollowRedirects(true);
  HttpClient client=HttpClientManager.getNewClient();
  try {
    HttpClientManager.executeMethodRedirecting(client,get);
    in=new BufferedReader(new InputStreamReader(get.getResponseBodyAsStream()));
    if (get.getStatusCode() < 200 || get.getStatusCode() >= 300) {
      if (LOG.isWarnEnabled())       LOG.warn("String_Node_Str" + get.getStatusCode());
      throw new IOException("String_Node_Str");
    }
    boolean firstLine=true;
    boolean errors=false;
    while (true) {
      String line=in.readLine();
      if (line == null)       break;
      if (LOG.isTraceEnabled())       LOG.trace("String_Node_Str" + line);
      if (firstLine && StringUtils.startsWithIgnoreCase(line,"String_Node_Str")) {
        request.handleError(server);
        errors=true;
      }
 else {
        request.handleResponseData(server,line);
      }
      firstLine=false;
    }
    if (!errors)     _lastConnectable=server;
  }
 catch (  IOException ioe) {
    LOG.warn("String_Node_Str",ioe);
    request.handleError(server);
  }
 finally {
    if (in != null)     try {
      in.close();
    }
 catch (    IOException e) {
    }
    if (get != null)     get.releaseConnection();
  }
}

Fixed version (ground truth):
private void requestFromOneHost(GWebCacheRequest request,BootstrapServer server){
  if (request == null) {
    throw new NullPointerException("String_Node_Str");
  }
  if (server == null) {
    throw new NullPointerException("String_Node_Str");
  }
  if (LOG.isTraceEnabled())   LOG.trace("String_Node_Str" + request + "String_Node_Str"+ server);
  BufferedReader in=null;
  String connectTo=server.getURL().toString() + "String_Node_Str" + CommonUtils.QHD_VENDOR_NAME+ "String_Node_Str"+ URLEncoder.encode(CommonUtils.getLimeWireVersion())+ "String_Node_Str"+ request.parameters();
  HttpMethod get=new GetMethod(connectTo);
  get.addRequestHeader("String_Node_Str","String_Node_Str");
  get.addRequestHeader("String_Node_Str",CommonUtils.getHttpServer());
  get.addRequestHeader(HTTPHeaderName.CONNECTION.httpStringValue(),"String_Node_Str");
  get.setFollowRedirects(true);
  HttpClient client=HttpClientManager.getNewClient();
  try {
    HttpClientManager.executeMethodRedirecting(client,get);
    in=new BufferedReader(new InputStreamReader(get.getResponseBodyAsStream()));
    if (get.getStatusCode() < 200 || get.getStatusCode() >= 300) {
      if (LOG.isWarnEnabled())       LOG.warn("String_Node_Str" + get.getStatusCode());
      throw new IOException("String_Node_Str");
    }
    boolean firstLine=true;
    boolean errors=false;
    while (true) {
      String line=in.readLine();
      if (line == null)       break;
      if (firstLine && StringUtils.startsWithIgnoreCase(line,"String_Node_Str")) {
        request.handleError(server);
        errors=true;
      }
 else {
        request.handleResponseData(server,line);
      }
      firstLine=false;
    }
    if (!errors)     _lastConnectable=server;
  }
 catch (  IOException ioe) {
    LOG.warn("String_Node_Str",ioe);
    request.handleError(server);
  }
 finally {
    if (in != null)     try {
      in.close();
    }
 catch (    IOException e) {
    }
    if (get != null)     get.releaseConnection();
  }
}