Program: 162430
Project: 162430
Buggy source:
public ArrayList<LayoutElementParcelable> addToSmb(SmbFile[] mFile,String path) throws SmbException {
  ArrayList<LayoutElementParcelable> a=new ArrayList<>();
  if (searchHelper.size() > 500)   searchHelper.clear();
  for (  SmbFile aMFile : mFile) {
    if (dataUtils.isFileHidden(aMFile.getPath()))     continue;
    String name=aMFile.getName();
    name=(aMFile.isDirectory() && name.endsWith("String_Node_Str")) ? name.substring(0,name.length() - 1) : name;
    if (path.equals(smbPath)) {
      if (name.endsWith("String_Node_Str"))       continue;
    }
    if (aMFile.isDirectory()) {
      folder_count++;
      LayoutElementParcelable layoutElement=new LayoutElementParcelable(name,aMFile.getPath(),"String_Node_Str","String_Node_Str","String_Node_Str",0,false,aMFile.lastModified() + "String_Node_Str",true,getBoolean(PREFERENCE_SHOW_THUMB));
      layoutElement.setMode(OpenMode.SMB);
      searchHelper.add(layoutElement.generateBaseFile());
      a.add(layoutElement);
    }
 else {
      file_count++;
      try {
        LayoutElementParcelable layoutElement=new LayoutElementParcelable(name,aMFile.getPath(),"String_Node_Str","String_Node_Str",Formatter.formatFileSize(getContext(),aMFile.length()),aMFile.length(),false,aMFile.lastModified() + "String_Node_Str",false,getBoolean(PREFERENCE_SHOW_THUMB));
        layoutElement.setMode(OpenMode.SMB);
        searchHelper.add(layoutElement.generateBaseFile());
        a.add(layoutElement);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
    }
  }
  return a;
}

Fixed version (ground truth):
public ArrayList<LayoutElementParcelable> addToSmb(SmbFile[] mFile,String path,boolean showHiddenFiles) throws SmbException {
  ArrayList<LayoutElementParcelable> smbFileList=new ArrayList<>();
  if (searchHelper.size() > 500)   searchHelper.clear();
  for (  SmbFile aMFile : mFile) {
    if ((dataUtils.isFileHidden(aMFile.getPath()) || aMFile.isHidden()) && !showHiddenFiles) {
      continue;
    }
    String name=aMFile.getName();
    name=(aMFile.isDirectory() && name.endsWith("String_Node_Str")) ? name.substring(0,name.length() - 1) : name;
    if (path.equals(smbPath)) {
      if (name.endsWith("String_Node_Str"))       continue;
    }
    if (aMFile.isDirectory()) {
      folder_count++;
      LayoutElementParcelable layoutElement=new LayoutElementParcelable(name,aMFile.getPath(),"String_Node_Str","String_Node_Str","String_Node_Str",0,false,aMFile.lastModified() + "String_Node_Str",true,getBoolean(PREFERENCE_SHOW_THUMB));
      layoutElement.setMode(OpenMode.SMB);
      searchHelper.add(layoutElement.generateBaseFile());
      smbFileList.add(layoutElement);
    }
 else {
      file_count++;
      LayoutElementParcelable layoutElement=new LayoutElementParcelable(name,aMFile.getPath(),"String_Node_Str","String_Node_Str",Formatter.formatFileSize(getContext(),aMFile.length()),aMFile.length(),false,aMFile.lastModified() + "String_Node_Str",false,getBoolean(PREFERENCE_SHOW_THUMB));
      layoutElement.setMode(OpenMode.SMB);
      searchHelper.add(layoutElement.generateBaseFile());
      smbFileList.add(layoutElement);
    }
  }
  return smbFileList;
}