Program: 47744
Project: 47744
Buggy source:
public void readRep(Repository rep,ObjectId id_step,List<DatabaseMeta> databases,Map<String,Counter> counters) throws KettleException {
  m_filename=rep.getStepAttributeString(id_step,0,"String_Node_Str");
  m_schemaFilename=rep.getStepAttributeString(id_step,0,"String_Node_Str");
  m_isJsonEncoded=rep.getStepAttributeBoolean(id_step,0,"String_Node_Str");
  m_avroInField=rep.getStepAttributeBoolean(id_step,"String_Node_Str");
  m_avroFieldName=rep.getStepAttributeString(id_step,"String_Node_Str");
  int nrfields=rep.countNrStepAttributes(id_step,"String_Node_Str");
  if (nrfields > 0) {
    m_fields=new ArrayList<AvroField>();
    for (int i=0; i < nrfields; i++) {
      AvroField newField=new AvroField();
      newField.m_fieldName=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      newField.m_fieldPath=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      newField.m_kettleType=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      String indexedVals=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      if (indexedVals != null && indexedVals.length() > 0) {
        newField.m_indexedVals=indexedValsList(indexedVals);
      }
      m_fields.add(newField);
    }
  }
  nrfields=rep.countNrStepAttributes(id_step,"String_Node_Str");
  if (nrfields > 0) {
    m_lookups=new ArrayList<LookupField>();
    for (int i=0; i < nrfields; i++) {
      LookupField newField=new LookupField();
      newField.m_fieldName=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      newField.m_variableName=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      newField.m_defaultValue=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      m_lookups.add(newField);
    }
  }
}

Fixed version (ground truth):
public void readRep(Repository rep,ObjectId id_step,List<DatabaseMeta> databases,Map<String,Counter> counters) throws KettleException {
  m_filename=rep.getStepAttributeString(id_step,0,"String_Node_Str");
  m_schemaFilename=rep.getStepAttributeString(id_step,0,"String_Node_Str");
  m_isJsonEncoded=rep.getStepAttributeBoolean(id_step,0,"String_Node_Str");
  m_avroInField=rep.getStepAttributeBoolean(id_step,0,"String_Node_Str");
  m_avroFieldName=rep.getStepAttributeString(id_step,0,"String_Node_Str");
  int nrfields=rep.countNrStepAttributes(id_step,"String_Node_Str");
  if (nrfields > 0) {
    m_fields=new ArrayList<AvroField>();
    for (int i=0; i < nrfields; i++) {
      AvroField newField=new AvroField();
      newField.m_fieldName=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      newField.m_fieldPath=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      newField.m_kettleType=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      String indexedVals=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      if (indexedVals != null && indexedVals.length() > 0) {
        newField.m_indexedVals=indexedValsList(indexedVals);
      }
      m_fields.add(newField);
    }
  }
  nrfields=rep.countNrStepAttributes(id_step,"String_Node_Str");
  if (nrfields > 0) {
    m_lookups=new ArrayList<LookupField>();
    for (int i=0; i < nrfields; i++) {
      LookupField newField=new LookupField();
      newField.m_fieldName=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      newField.m_variableName=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      newField.m_defaultValue=rep.getStepAttributeString(id_step,i,"String_Node_Str");
      m_lookups.add(newField);
    }
  }
}