Program: 51772
Project: 51772
Buggy source:
public byte[] applyPatch(String name,String mappedName,byte[] inputData){
  if (patches == null) {
    return inputData;
  }
  List<ClassPatch> list=patches.get(name);
  if (list.isEmpty()) {
    return inputData;
  }
  boolean ignoredError=false;
  FMLLog.fine("String_Node_Str",mappedName,inputData.length,list.size(),list.size() != 1 ? "String_Node_Str" : "String_Node_Str");
  for (  ClassPatch patch : list) {
    if (!patch.targetClassName.equals(mappedName)) {
      FMLLog.warning("String_Node_Str",patch.targetClassName,mappedName);
    }
    if (!patch.existsAtTarget && (inputData == null || inputData.length == 0)) {
      inputData=new byte[0];
    }
 else     if (!patch.existsAtTarget) {
      FMLLog.warning("String_Node_Str",patch.targetClassName);
    }
 else {
      int inputChecksum=Hashing.adler32().hashBytes(inputData).asInt();
      if (patch.inputChecksum != inputChecksum) {
        FMLLog.severe("String_Node_Str",mappedName,name,inputChecksum,patch.inputChecksum);
        if (!Boolean.parseBoolean(System.getProperty("String_Node_Str","String_Node_Str"))) {
          FMLLog.severe("String_Node_Str");
          System.exit(1);
        }
 else {
          FMLLog.severe("String_Node_Str");
          ignoredError=true;
          continue;
        }
      }
    }
synchronized (patcher) {
      try {
        inputData=patcher.patch(inputData,patch.patch);
      }
 catch (      IOException e) {
        FMLLog.log(Level.SEVERE,e,"String_Node_Str",name);
        continue;
      }
    }
  }
  if (!ignoredError) {
    FMLLog.fine("String_Node_Str",mappedName,inputData.length);
  }
  if (dumpPatched) {
    try {
      Files.write(inputData,new File(tempDir,mappedName));
    }
 catch (    IOException e) {
      FMLLog.log(Level.SEVERE,e,"String_Node_Str",mappedName,tempDir.getAbsolutePath());
    }
  }
  return inputData;
}

Fixed version (ground truth):
public byte[] applyPatch(String name,String mappedName,byte[] inputData){
  if (patches == null) {
    return inputData;
  }
  List<ClassPatch> list=patches.get(name);
  if (list.isEmpty()) {
    return inputData;
  }
  boolean ignoredError=false;
  FMLLog.fine("String_Node_Str",mappedName,(inputData == null ? 0 : inputData.length),list.size(),list.size() != 1 ? "String_Node_Str" : "String_Node_Str");
  for (  ClassPatch patch : list) {
    if (!patch.targetClassName.equals(mappedName)) {
      FMLLog.warning("String_Node_Str",patch.targetClassName,mappedName);
    }
    if (!patch.existsAtTarget && (inputData == null || inputData.length == 0)) {
      inputData=new byte[0];
    }
 else     if (!patch.existsAtTarget) {
      FMLLog.warning("String_Node_Str",patch.targetClassName);
    }
 else {
      int inputChecksum=Hashing.adler32().hashBytes(inputData).asInt();
      if (patch.inputChecksum != inputChecksum) {
        FMLLog.severe("String_Node_Str",mappedName,name,inputChecksum,patch.inputChecksum);
        if (!Boolean.parseBoolean(System.getProperty("String_Node_Str","String_Node_Str"))) {
          FMLLog.severe("String_Node_Str");
          System.exit(1);
        }
 else {
          FMLLog.severe("String_Node_Str");
          ignoredError=true;
          continue;
        }
      }
    }
synchronized (patcher) {
      try {
        inputData=patcher.patch(inputData,patch.patch);
      }
 catch (      IOException e) {
        FMLLog.log(Level.SEVERE,e,"String_Node_Str",name);
        continue;
      }
    }
  }
  if (!ignoredError) {
    FMLLog.fine("String_Node_Str",mappedName,inputData.length);
  }
  if (dumpPatched) {
    try {
      Files.write(inputData,new File(tempDir,mappedName));
    }
 catch (    IOException e) {
      FMLLog.log(Level.SEVERE,e,"String_Node_Str",mappedName,tempDir.getAbsolutePath());
    }
  }
  return inputData;
}