Program: 94162
Project: 94162
Buggy source:
private void handleEndpointDescriptionPath(Bundle bundle,String remoteServicesHeaderValue){
  if ("String_Node_Str".equals(remoteServicesHeaderValue))   return;
  Enumeration<URL> e=null;
  if (remoteServicesHeaderValue.endsWith("String_Node_Str")) {
    e=bundle.findEntries(remoteServicesHeaderValue,XML_FILE_PATTERN,false);
  }
 else {
    int lastSlashIndex=remoteServicesHeaderValue.lastIndexOf('/');
    if (lastSlashIndex == -1) {
      e=bundle.findEntries("String_Node_Str",remoteServicesHeaderValue,false);
    }
 else {
      String path=remoteServicesHeaderValue.substring(0,lastSlashIndex);
      if ("String_Node_Str".equals(path)) {
        path="String_Node_Str";
      }
      String filePattern=remoteServicesHeaderValue.substring(lastSlashIndex + 1);
      e=bundle.findEntries(path,filePattern,false);
    }
  }
  Collection<org.osgi.service.remoteserviceadmin.EndpointDescription> endpointDescriptions=new ArrayList<org.osgi.service.remoteserviceadmin.EndpointDescription>();
  if (e != null) {
    while (e.hasMoreElements()) {
      org.osgi.service.remoteserviceadmin.EndpointDescription[] eps=handleEndpointDescriptionFile(bundle,e.nextElement());
      if (eps != null)       for (int i=0; i < eps.length; i++)       endpointDescriptions.add(eps[i]);
    }
  }
  if (endpointDescriptions.size() > 0) {
    bundleDescriptionMap.put(new Long(bundle.getBundleId()),endpointDescriptions);
    for (    org.osgi.service.remoteserviceadmin.EndpointDescription ed : endpointDescriptions)     localLocatorServiceListener.handleEndpointDescription(ed,true);
  }
}

Fixed version (ground truth):
private void handleEndpointDescriptionPath(Bundle bundle,String remoteServicesHeaderValue){
  if ("String_Node_Str".equals(remoteServicesHeaderValue))   return;
  Enumeration<URL> e=null;
  if (remoteServicesHeaderValue.endsWith("String_Node_Str")) {
    e=bundle.findEntries(remoteServicesHeaderValue,XML_FILE_PATTERN,false);
  }
 else {
    int lastSlashIndex=remoteServicesHeaderValue.lastIndexOf('/');
    if (lastSlashIndex == -1) {
      e=bundle.findEntries("String_Node_Str",remoteServicesHeaderValue,false);
    }
 else {
      String path=remoteServicesHeaderValue.substring(0,lastSlashIndex);
      if ("String_Node_Str".equals(path)) {
        path="String_Node_Str";
      }
      String filePattern=remoteServicesHeaderValue.substring(lastSlashIndex + 1);
      e=bundle.findEntries(path,filePattern,false);
    }
  }
  Collection<org.osgi.service.remoteserviceadmin.EndpointDescription> endpointDescriptions=new ArrayList<org.osgi.service.remoteserviceadmin.EndpointDescription>();
  if (e != null) {
    while (e.hasMoreElements()) {
      org.osgi.service.remoteserviceadmin.EndpointDescription[] eps=handleEndpointDescriptionFile(bundle,e.nextElement());
      if (eps != null)       for (int i=0; i < eps.length; i++)       endpointDescriptions.add(eps[i]);
    }
  }
 else {
    logError("String_Node_Str","String_Node_Str" + remoteServicesHeaderValue + "String_Node_Str"+ bundle.getSymbolicName()+ "String_Node_Str",new FileNotFoundException("String_Node_Str" + remoteServicesHeaderValue));
  }
  if (endpointDescriptions.size() > 0) {
    bundleDescriptionMap.put(new Long(bundle.getBundleId()),endpointDescriptions);
    for (    org.osgi.service.remoteserviceadmin.EndpointDescription ed : endpointDescriptions)     localLocatorServiceListener.handleEndpointDescription(ed,true);
  }
}