Program: 1628
Project: 1628
Buggy source:
@Override protected void dump(FileDescriptor fd,PrintWriter pw,String[] args){
  if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP) != PackageManager.PERMISSION_GRANTED) {
    pw.println("String_Node_Str" + Binder.getCallingPid() + "String_Node_Str"+ Binder.getCallingUid()+ "String_Node_Str"+ android.Manifest.permission.DUMP);
    return;
  }
  boolean isCheckin=false;
  boolean isUnpluggedOnly=false;
  boolean noOutput=false;
  int reqUid=-1;
  if (args != null) {
    for (    String arg : args) {
      if ("String_Node_Str".equals(arg)) {
        isCheckin=true;
      }
 else       if ("String_Node_Str".equals(arg)) {
        isUnpluggedOnly=true;
      }
 else       if ("String_Node_Str".equals(arg)) {
synchronized (mStats) {
          mStats.resetAllStatsLocked();
          pw.println("String_Node_Str");
          noOutput=true;
        }
      }
 else       if ("String_Node_Str".equals(arg)) {
synchronized (mStats) {
          mStats.writeSyncLocked();
          pw.println("String_Node_Str");
          noOutput=true;
        }
      }
 else       if ("String_Node_Str".equals(arg)) {
        dumpHelp(pw);
        return;
      }
 else       if ("String_Node_Str".equals(arg)) {
      }
 else       if (arg.length() > 0 && arg.charAt(0) == '-') {
        pw.println("String_Node_Str" + arg);
        dumpHelp(pw);
        return;
      }
 else {
        try {
          reqUid=mContext.getPackageManager().getPackageUid(arg,UserHandle.getCallingUserId());
        }
 catch (        PackageManager.NameNotFoundException e) {
          pw.println("String_Node_Str" + arg);
          dumpHelp(pw);
          return;
        }
      }
    }
  }
  if (noOutput) {
    return;
  }
  if (isCheckin) {
    List<ApplicationInfo> apps=mContext.getPackageManager().getInstalledApplications(0);
synchronized (mStats) {
      mStats.dumpCheckinLocked(pw,apps,isUnpluggedOnly);
    }
  }
 else {
synchronized (mStats) {
      mStats.dumpLocked(pw,isUnpluggedOnly,reqUid);
    }
  }
}

Fixed version (ground truth):
@Override protected void dump(FileDescriptor fd,PrintWriter pw,String[] args){
  if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP) != PackageManager.PERMISSION_GRANTED) {
    pw.println("String_Node_Str" + Binder.getCallingPid() + "String_Node_Str"+ Binder.getCallingUid()+ "String_Node_Str"+ android.Manifest.permission.DUMP);
    return;
  }
  boolean isCheckin=false;
  boolean includeHistory=false;
  boolean isUnpluggedOnly=false;
  boolean noOutput=false;
  int reqUid=-1;
  if (args != null) {
    for (    String arg : args) {
      if ("String_Node_Str".equals(arg)) {
        isCheckin=true;
      }
 else       if ("String_Node_Str".equals(arg)) {
        isCheckin=true;
        includeHistory=true;
      }
 else       if ("String_Node_Str".equals(arg)) {
        isUnpluggedOnly=true;
      }
 else       if ("String_Node_Str".equals(arg)) {
synchronized (mStats) {
          mStats.resetAllStatsLocked();
          pw.println("String_Node_Str");
          noOutput=true;
        }
      }
 else       if ("String_Node_Str".equals(arg)) {
synchronized (mStats) {
          mStats.writeSyncLocked();
          pw.println("String_Node_Str");
          noOutput=true;
        }
      }
 else       if ("String_Node_Str".equals(arg)) {
        dumpHelp(pw);
        return;
      }
 else       if ("String_Node_Str".equals(arg)) {
      }
 else       if (arg.length() > 0 && arg.charAt(0) == '-') {
        pw.println("String_Node_Str" + arg);
        dumpHelp(pw);
        return;
      }
 else {
        try {
          reqUid=mContext.getPackageManager().getPackageUid(arg,UserHandle.getCallingUserId());
        }
 catch (        PackageManager.NameNotFoundException e) {
          pw.println("String_Node_Str" + arg);
          dumpHelp(pw);
          return;
        }
      }
    }
  }
  if (noOutput) {
    return;
  }
  if (isCheckin) {
    List<ApplicationInfo> apps=mContext.getPackageManager().getInstalledApplications(0);
synchronized (mStats) {
      mStats.dumpCheckinLocked(pw,apps,isUnpluggedOnly,includeHistory);
    }
  }
 else {
synchronized (mStats) {
      mStats.dumpLocked(pw,isUnpluggedOnly,reqUid);
    }
  }
}