Program: 55011
Project: 55011
Buggy source:
public List<DavResource> getResources(String url) throws IOException {
  URL urlObj=new URL(url);
  String path=urlObj.getPath();
  HttpPropFind pf=new HttpPropFind(url);
  HttpResponse response=this.client.execute(pf);
  int statusCode=response.getStatusLine().getStatusCode();
  if (!SardineUtil.isGoodResponse(statusCode))   throw new IOException("String_Node_Str" + statusCode + "String_Node_Str"+ url);
  Multistatus r=null;
  try {
    r=(Multistatus)this.factory.getUnmarshaller().unmarshal(response.getEntity().getContent());
  }
 catch (  JAXBException ex) {
    throw new IOException("String_Node_Str" + url,ex);
  }
  List<Response> responses=r.getResponse();
  List<DavResource> resources=new ArrayList<DavResource>(responses.size());
  for (  Response resp : responses) {
    String href=resp.getHref().get(0);
    if (href.equals(path))     continue;
    String name=href.substring(path.length(),href.length());
    if (name.equals("String_Node_Str"))     continue;
    if (name.endsWith("String_Node_Str"))     name=name.substring(0,name.length() - 1);
    String creationdate=resp.getPropstat().get(0).getProp().getCreationdate().getContent().get(0);
    String modifieddate=resp.getPropstat().get(0).getProp().getGetlastmodified().getContent().get(0);
    String contentType="String_Node_Str";
    Getcontenttype gtt=resp.getPropstat().get(0).getProp().getGetcontenttype();
    if (gtt != null)     contentType=gtt.getContent().get(0);
    String contentLength="String_Node_Str";
    Getcontentlength gcl=resp.getPropstat().get(0).getProp().getGetcontentlength();
    if (gcl != null)     contentLength=gcl.getContent().get(0);
    DavResource dr=new DavResource(url,name,SardineUtil.parseDate(creationdate),SardineUtil.parseDate(modifieddate),contentType,Long.valueOf(contentLength));
    resources.add(dr);
  }
  return resources;
}

Fixed version (ground truth):
public List<DavResource> getResources(String url) throws IOException {
  HttpPropFind propFind=new HttpPropFind(url);
  propFind.setEntity(SardineUtil.getResourcesEntity());
  HttpResponse response=this.client.execute(propFind);
  int statusCode=response.getStatusLine().getStatusCode();
  if (!SardineUtil.isGoodResponse(statusCode))   throw new IOException("String_Node_Str" + statusCode + "String_Node_Str"+ url);
  Multistatus r=null;
  try {
    r=(Multistatus)this.factory.getUnmarshaller().unmarshal(response.getEntity().getContent());
  }
 catch (  JAXBException ex) {
    throw new IOException("String_Node_Str" + url,ex);
  }
  List<Response> responses=r.getResponse();
  List<DavResource> resources=new ArrayList<DavResource>(responses.size());
  String path=responses.get(0).getHref().get(0);
  for (  Response resp : responses) {
    String href=resp.getHref().get(0);
    if (href.equals(path))     continue;
    String name=href.substring(path.length(),href.length());
    if (name.equals("String_Node_Str"))     continue;
    if (name.endsWith("String_Node_Str"))     name=name.substring(0,name.length() - 1);
    String creationdate=resp.getPropstat().get(0).getProp().getCreationdate().getContent().get(0);
    String modifieddate=resp.getPropstat().get(0).getProp().getGetlastmodified().getContent().get(0);
    String contentType="String_Node_Str";
    Getcontenttype gtt=resp.getPropstat().get(0).getProp().getGetcontenttype();
    if (gtt != null)     contentType=gtt.getContent().get(0);
    String contentLength="String_Node_Str";
    Getcontentlength gcl=resp.getPropstat().get(0).getProp().getGetcontentlength();
    if (gcl != null)     contentLength=gcl.getContent().get(0);
    DavResource dr=new DavResource(url,name,SardineUtil.parseDate(creationdate),SardineUtil.parseDate(modifieddate),contentType,Long.valueOf(contentLength));
    resources.add(dr);
  }
  return resources;
}