Program: 134973
Project: 134973
Buggy source:
/** 
 * Fill the table with the fields of the given log
 * @param log The log whose content is shown in the table
 */
public void setupContent(ILogEntry log){
  if (log == null) {
    setEmptyContent();
  }
  Vector<ILogEntry.AdditionalData> additionalData=log.getAdditionalData();
  rowsNum=ILogEntry.NUMBER_OF_FIELDS;
  if (additionalData != null) {
    rowsNum+=additionalData.size();
  }
  if (rowsNum > 0) {
    nameValue=new String[rowsNum][2];
    for (int i=0; i < ILogEntry.NUMBER_OF_FIELDS; i++) {
      nameValue[i][0]="String_Node_Str" + ILogEntry.fieldNames[i] + "String_Node_Str";
      Object obj=log.getField(i);
      if (obj != null) {
        if (i == ILogEntry.FIELD_ENTRYTYPE) {
          nameValue[i][1]=obj.toString() + "String_Node_Str" + LogTypeHelper.getLogTypeDescription((Integer)obj)+ "String_Node_Str";
        }
 else         if (i == ILogEntry.FIELD_TIMESTAMP) {
          SimpleDateFormat df=new SimpleDateFormat(ILogEntry.TIME_FORMAT);
          Date dt=(Date)obj;
          StringBuffer dateSB=new StringBuffer();
          java.text.FieldPosition pos=new java.text.FieldPosition(0);
          df.format(dt,dateSB,pos);
          nameValue[i][1]=dateSB.toString();
        }
 else {
          nameValue[i][1]=obj.toString();
        }
      }
 else {
        nameValue[i][1]="String_Node_Str";
      }
    }
    for (int i=ILogEntry.NUMBER_OF_FIELDS; i < rowsNum; i++) {
      nameValue[i][0]="String_Node_Str" + additionalData.get(i - ILogEntry.NUMBER_OF_FIELDS).getName() + "String_Node_Str";
      nameValue[i][1]=additionalData.get(i - ILogEntry.NUMBER_OF_FIELDS).getValue();
    }
    getColumnModel().getColumn(0).setHeaderValue("String_Node_Str");
    getColumnModel().getColumn(1).setHeaderValue("String_Node_Str");
    getTableHeader().resizeAndRepaint();
    resizeAndRepaint();
  }
}

Fixed version (ground truth):
/** 
 * Fill the table with the fields of the given log
 * @param log The log whose content is shown in the table
 */
public void setupContent(ILogEntry log){
  if (log == null) {
    setEmptyContent();
    return;
  }
  Vector<ILogEntry.AdditionalData> additionalData=log.getAdditionalData();
  rowsNum=ILogEntry.NUMBER_OF_FIELDS;
  if (additionalData != null) {
    rowsNum+=additionalData.size();
  }
  if (rowsNum > 0) {
    nameValue=new String[rowsNum][2];
    for (int i=0; i < ILogEntry.NUMBER_OF_FIELDS; i++) {
      nameValue[i][0]="String_Node_Str" + ILogEntry.fieldNames[i] + "String_Node_Str";
      Object obj=log.getField(i);
      if (obj != null) {
        if (i == ILogEntry.FIELD_ENTRYTYPE) {
          nameValue[i][1]=obj.toString() + "String_Node_Str" + LogTypeHelper.getLogTypeDescription((Integer)obj)+ "String_Node_Str";
        }
 else         if (i == ILogEntry.FIELD_TIMESTAMP) {
          SimpleDateFormat df=new SimpleDateFormat(ILogEntry.TIME_FORMAT);
          Date dt=(Date)obj;
          StringBuffer dateSB=new StringBuffer();
          java.text.FieldPosition pos=new java.text.FieldPosition(0);
          df.format(dt,dateSB,pos);
          nameValue[i][1]=dateSB.toString();
        }
 else {
          nameValue[i][1]=obj.toString();
        }
      }
 else {
        nameValue[i][1]="String_Node_Str";
      }
    }
    for (int i=ILogEntry.NUMBER_OF_FIELDS; i < rowsNum; i++) {
      nameValue[i][0]="String_Node_Str" + additionalData.get(i - ILogEntry.NUMBER_OF_FIELDS).getName() + "String_Node_Str";
      nameValue[i][1]=additionalData.get(i - ILogEntry.NUMBER_OF_FIELDS).getValue();
    }
    getColumnModel().getColumn(0).setHeaderValue("String_Node_Str");
    getColumnModel().getColumn(1).setHeaderValue("String_Node_Str");
    getTableHeader().resizeAndRepaint();
    resizeAndRepaint();
  }
}