Program: 195447
Project: 195447
Buggy source:
private static boolean dumpDurationSteps(PrintWriter pw,String prefix,String header,LevelStepTracker steps,boolean checkin){
  if (steps == null) {
    return false;
  }
  int count=steps.mNumStepDurations;
  if (count <= 0) {
    return false;
  }
  if (!checkin) {
    pw.println(header);
  }
  String[] lineArgs=new String[4];
  for (int i=0; i < count; i++) {
    long duration=steps.getDurationAt(i);
    int level=steps.getLevelAt(i);
    long initMode=steps.getInitModeAt(i);
    long modMode=steps.getModModeAt(i);
    if (checkin) {
      lineArgs[0]=Long.toString(duration);
      lineArgs[1]=Integer.toString(level);
      if ((modMode & STEP_LEVEL_MODE_SCREEN_STATE) == 0) {
switch ((int)(initMode & STEP_LEVEL_MODE_SCREEN_STATE) + 1) {
case Display.STATE_OFF:
          lineArgs[2]="String_Node_Str";
        break;
case Display.STATE_ON:
      lineArgs[2]="String_Node_Str";
    break;
case Display.STATE_DOZE:
  lineArgs[2]="String_Node_Str";
break;
case Display.STATE_DOZE_SUSPEND:
lineArgs[2]="String_Node_Str";
break;
default :
lineArgs[1]="String_Node_Str";
break;
}
}
 else {
lineArgs[2]="String_Node_Str";
}
if ((modMode & STEP_LEVEL_MODE_POWER_SAVE) == 0) {
lineArgs[3]=(initMode & STEP_LEVEL_MODE_POWER_SAVE) != 0 ? "String_Node_Str" : "String_Node_Str";
}
 else {
lineArgs[3]="String_Node_Str";
}
if ((modMode & STEP_LEVEL_MODE_DEVICE_IDLE) == 0) {
lineArgs[3]=(initMode & STEP_LEVEL_MODE_DEVICE_IDLE) != 0 ? "String_Node_Str" : "String_Node_Str";
}
 else {
lineArgs[3]="String_Node_Str";
}
dumpLine(pw,0,"String_Node_Str",header,(Object[])lineArgs);
}
 else {
pw.print(prefix);
pw.print("String_Node_Str");
pw.print(i);
pw.print("String_Node_Str");
TimeUtils.formatDuration(duration,pw);
pw.print("String_Node_Str");
pw.print(level);
boolean haveModes=false;
if ((modMode & STEP_LEVEL_MODE_SCREEN_STATE) == 0) {
pw.print("String_Node_Str");
switch ((int)(initMode & STEP_LEVEL_MODE_SCREEN_STATE) + 1) {
case Display.STATE_OFF:
pw.print("String_Node_Str");
break;
case Display.STATE_ON:
pw.print("String_Node_Str");
break;
case Display.STATE_DOZE:
pw.print("String_Node_Str");
break;
case Display.STATE_DOZE_SUSPEND:
pw.print("String_Node_Str");
break;
default :
lineArgs[1]="String_Node_Str";
break;
}
haveModes=true;
}
if ((modMode & STEP_LEVEL_MODE_POWER_SAVE) == 0) {
pw.print(haveModes ? "String_Node_Str" : "String_Node_Str");
pw.print((initMode & STEP_LEVEL_MODE_POWER_SAVE) != 0 ? "String_Node_Str" : "String_Node_Str");
haveModes=true;
}
if ((modMode & STEP_LEVEL_MODE_DEVICE_IDLE) == 0) {
pw.print(haveModes ? "String_Node_Str" : "String_Node_Str");
pw.print((initMode & STEP_LEVEL_MODE_DEVICE_IDLE) != 0 ? "String_Node_Str" : "String_Node_Str");
haveModes=true;
}
if (haveModes) {
pw.print("String_Node_Str");
}
pw.println();
}
}
return true;
}

Fixed version (ground truth):
private static boolean dumpDurationSteps(PrintWriter pw,String prefix,String header,LevelStepTracker steps,boolean checkin){
  if (steps == null) {
    return false;
  }
  int count=steps.mNumStepDurations;
  if (count <= 0) {
    return false;
  }
  if (!checkin) {
    pw.println(header);
  }
  String[] lineArgs=new String[5];
  for (int i=0; i < count; i++) {
    long duration=steps.getDurationAt(i);
    int level=steps.getLevelAt(i);
    long initMode=steps.getInitModeAt(i);
    long modMode=steps.getModModeAt(i);
    if (checkin) {
      lineArgs[0]=Long.toString(duration);
      lineArgs[1]=Integer.toString(level);
      if ((modMode & STEP_LEVEL_MODE_SCREEN_STATE) == 0) {
switch ((int)(initMode & STEP_LEVEL_MODE_SCREEN_STATE) + 1) {
case Display.STATE_OFF:
          lineArgs[2]="String_Node_Str";
        break;
case Display.STATE_ON:
      lineArgs[2]="String_Node_Str";
    break;
case Display.STATE_DOZE:
  lineArgs[2]="String_Node_Str";
break;
case Display.STATE_DOZE_SUSPEND:
lineArgs[2]="String_Node_Str";
break;
default :
lineArgs[2]="String_Node_Str";
break;
}
}
 else {
lineArgs[2]="String_Node_Str";
}
if ((modMode & STEP_LEVEL_MODE_POWER_SAVE) == 0) {
lineArgs[3]=(initMode & STEP_LEVEL_MODE_POWER_SAVE) != 0 ? "String_Node_Str" : "String_Node_Str";
}
 else {
lineArgs[3]="String_Node_Str";
}
if ((modMode & STEP_LEVEL_MODE_DEVICE_IDLE) == 0) {
lineArgs[4]=(initMode & STEP_LEVEL_MODE_DEVICE_IDLE) != 0 ? "String_Node_Str" : "String_Node_Str";
}
 else {
lineArgs[4]="String_Node_Str";
}
dumpLine(pw,0,"String_Node_Str",header,(Object[])lineArgs);
}
 else {
pw.print(prefix);
pw.print("String_Node_Str");
pw.print(i);
pw.print("String_Node_Str");
TimeUtils.formatDuration(duration,pw);
pw.print("String_Node_Str");
pw.print(level);
boolean haveModes=false;
if ((modMode & STEP_LEVEL_MODE_SCREEN_STATE) == 0) {
pw.print("String_Node_Str");
switch ((int)(initMode & STEP_LEVEL_MODE_SCREEN_STATE) + 1) {
case Display.STATE_OFF:
pw.print("String_Node_Str");
break;
case Display.STATE_ON:
pw.print("String_Node_Str");
break;
case Display.STATE_DOZE:
pw.print("String_Node_Str");
break;
case Display.STATE_DOZE_SUSPEND:
pw.print("String_Node_Str");
break;
default :
pw.print("String_Node_Str");
break;
}
haveModes=true;
}
if ((modMode & STEP_LEVEL_MODE_POWER_SAVE) == 0) {
pw.print(haveModes ? "String_Node_Str" : "String_Node_Str");
pw.print((initMode & STEP_LEVEL_MODE_POWER_SAVE) != 0 ? "String_Node_Str" : "String_Node_Str");
haveModes=true;
}
if ((modMode & STEP_LEVEL_MODE_DEVICE_IDLE) == 0) {
pw.print(haveModes ? "String_Node_Str" : "String_Node_Str");
pw.print((initMode & STEP_LEVEL_MODE_DEVICE_IDLE) != 0 ? "String_Node_Str" : "String_Node_Str");
haveModes=true;
}
if (haveModes) {
pw.print("String_Node_Str");
}
pw.println();
}
}
return true;
}