Program: 162543
Project: 162543
Buggy source:
private void createDrawerItems(ArrayList<String[]> accounts,ArrayList<String[]> servers,List<String> storageDirectories){
  ArrayList<Item> sectionItems=new ArrayList<>();
  storage_count=0;
  for (  String file : storageDirectories) {
    File f=new File(file);
    String name;
    Drawable icon1=ContextCompat.getDrawable(this,R.drawable.ic_sd_storage_white_56dp);
    if ("String_Node_Str".equals(file) || "String_Node_Str".equals(file)) {
      name=getResources().getString(R.string.storage);
    }
 else     if ("String_Node_Str".equals(file)) {
      name=getResources().getString(R.string.extstorage);
    }
 else     if ("String_Node_Str".equals(file)) {
      name=getResources().getString(R.string.rootdirectory);
      icon1=ContextCompat.getDrawable(this,R.drawable.ic_drawer_root_white);
    }
 else     if ("String_Node_Str".equals(file)) {
      name="String_Node_Str";
      icon1=ContextCompat.getDrawable(this,R.drawable.ic_usb_white_48dp);
    }
 else     name=f.getName();
    if (!f.isDirectory() || f.canExecute()) {
      storage_count++;
      sectionItems.add(new EntryItem(name,file,icon1));
    }
  }
  sectionItems.add(new SectionItem());
  if (servers != null && servers.size() > 0) {
    for (    String[] file : servers) {
      sectionItems.add(new EntryItem(file[0],file[1],ContextCompat.getDrawable(this,R.drawable.ic_settings_remote_white_48dp)));
    }
    sectionItems.add(new SectionItem());
  }
  if (accounts != null && accounts.size() > 0) {
    Collections.sort(accounts,new BookSorter());
    for (    String[] file : accounts) {
      sectionItems.add(new EntryItem(file[0],file[1],ContextCompat.getDrawable(this,R.drawable.drive)));
    }
    sectionItems.add(new SectionItem());
  }
  ArrayList<String[]> books=DataUtils.getBooks();
  if (books != null && books.size() > 0) {
    Collections.sort(books,new BookSorter());
    for (    String[] file : books) {
      sectionItems.add(new EntryItem(file[0],file[1],ContextCompat.getDrawable(this,R.drawable.folder_fab)));
    }
    sectionItems.add(new SectionItem());
  }
  sectionItems.add(new EntryItem(getResources().getString(R.string.quick),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_star_white_18dp)));
  sectionItems.add(new EntryItem(getResources().getString(R.string.recent),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_history_white_48dp)));
  sectionItems.add(new EntryItem(getResources().getString(R.string.images),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_doc_image)));
  sectionItems.add(new EntryItem(getResources().getString(R.string.videos),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_doc_video_am)));
  sectionItems.add(new EntryItem(getResources().getString(R.string.audio),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_doc_audio_am)));
  sectionItems.add(new EntryItem(getResources().getString(R.string.documents),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_doc_doc_am)));
  sectionItems.add(new EntryItem(getResources().getString(R.string.apks),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_doc_apk_grid)));
  DataUtils.setList(sectionItems);
  adapter=new DrawerAdapter(this,this,sectionItems,this,sharedPref);
  mDrawerList.setAdapter(adapter);
}

Fixed version (ground truth):
private void createDrawerItems(List<String> storageDirectories){
  ArrayList<Item> sectionItems=new ArrayList<>();
  storage_count=0;
  for (  String file : storageDirectories) {
    File f=new File(file);
    String name;
    Drawable icon1=ContextCompat.getDrawable(this,R.drawable.ic_sd_storage_white_56dp);
    if ("String_Node_Str".equals(file) || "String_Node_Str".equals(file)) {
      name=getResources().getString(R.string.storage);
    }
 else     if ("String_Node_Str".equals(file)) {
      name=getResources().getString(R.string.extstorage);
    }
 else     if ("String_Node_Str".equals(file)) {
      name=getResources().getString(R.string.rootdirectory);
      icon1=ContextCompat.getDrawable(this,R.drawable.ic_drawer_root_white);
    }
 else     if ("String_Node_Str".equals(file)) {
      name="String_Node_Str";
      icon1=ContextCompat.getDrawable(this,R.drawable.ic_usb_white_48dp);
    }
 else     name=f.getName();
    if (!f.isDirectory() || f.canExecute()) {
      storage_count++;
      sectionItems.add(new EntryItem(name,file,icon1));
    }
  }
  sectionItems.add(new SectionItem());
  ArrayList<String[]> servers=DataUtils.getServers();
  if (servers != null && servers.size() > 0) {
    for (    String[] file : servers) {
      sectionItems.add(new EntryItem(file[0],file[1],ContextCompat.getDrawable(this,R.drawable.ic_settings_remote_white_48dp)));
    }
    sectionItems.add(new SectionItem());
  }
  ArrayList<String[]> accounts=DataUtils.getAccounts();
  if (accounts != null && accounts.size() > 0) {
    Collections.sort(accounts,new BookSorter());
    for (    String[] file : accounts) {
      sectionItems.add(new EntryItem(file[0],file[1],ContextCompat.getDrawable(this,R.drawable.drive)));
    }
    sectionItems.add(new SectionItem());
  }
  ArrayList<String[]> books=DataUtils.getBooks();
  if (books != null && books.size() > 0) {
    Collections.sort(books,new BookSorter());
    for (    String[] file : books) {
      sectionItems.add(new EntryItem(file[0],file[1],ContextCompat.getDrawable(this,R.drawable.folder_fab)));
    }
    sectionItems.add(new SectionItem());
  }
  if (sharedPref.getBoolean(PREFERENCE_SHOW_SIDEBAR_FOLDERS,true)) {
    sectionItems.add(new EntryItem(getResources().getString(R.string.quick),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_star_white_18dp)));
    sectionItems.add(new EntryItem(getResources().getString(R.string.recent),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_history_white_48dp)));
    sectionItems.add(new EntryItem(getResources().getString(R.string.images),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_doc_image)));
    sectionItems.add(new EntryItem(getResources().getString(R.string.videos),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_doc_video_am)));
    sectionItems.add(new EntryItem(getResources().getString(R.string.audio),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_doc_audio_am)));
    sectionItems.add(new EntryItem(getResources().getString(R.string.documents),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_doc_doc_am)));
    sectionItems.add(new EntryItem(getResources().getString(R.string.apks),"String_Node_Str",ContextCompat.getDrawable(this,R.drawable.ic_doc_apk_grid)));
  }
  DataUtils.setList(sectionItems);
  adapter=new DrawerAdapter(this,this,sectionItems,this,sharedPref);
  mDrawerList.setAdapter(adapter);
}