Program: 90752
Project: 90752
Buggy source:
static private void addToEntityReg(String[] args){
  File portletAppFile=new File(args[2]);
  String portletAppFileName=portletAppFile.getName();
  String portletApp=portletAppFileName.substring(0,portletAppFileName.lastIndexOf("String_Node_Str"));
  int o=(args[4].equals("String_Node_Str") ? 5 : 6);
  String appId=args[o++];
  try {
    String entityMapping=webAppsDir + portalImplWebDir + "String_Node_Str";
    File file=new File(entityMapping);
    RandomAccessFile ras=new RandomAccessFile(file,"String_Node_Str");
    long length=ras.length();
    byte[] contentByte=new byte[(int)length];
    ras.read(contentByte);
    String contentString=new String(contentByte);
    long pos=contentString.lastIndexOf("String_Node_Str");
    ras.seek(pos);
    ras.writeBytes("String_Node_Str" + appId + "String_Node_Str");
    ras.writeBytes("String_Node_Str" + portletApp + "String_Node_Str");
    StringTokenizer tokenizer;
    for (int i=o; i < args.length; ++i) {
      tokenizer=new StringTokenizer(args[i],"String_Node_Str");
      String portletId=tokenizer.nextToken();
      String portletName=tokenizer.nextToken();
      ras.writeBytes("String_Node_Str" + portletId + "String_Node_Str");
      ras.writeBytes("String_Node_Str" + portletApp + "String_Node_Str"+ portletName+ "String_Node_Str");
      ras.writeBytes("String_Node_Str");
    }
    ras.writeBytes("String_Node_Str");
    ras.writeBytes("String_Node_Str");
    ras.close();
  }
 catch (  Exception e) {
    e.printStackTrace(System.out);
    throw PlutoAdminException("String_Node_Str",e);
  }
}

Fixed version (ground truth):
static private void addToEntityReg(String[] args){
  File portletAppFile=new File(args[2]);
  String portletAppFileName=portletAppFile.getName();
  String portletApp=portletAppFileName.substring(0,portletAppFileName.lastIndexOf("String_Node_Str"));
  int o=(args[4].equals("String_Node_Str") ? 5 : 6);
  String appId=args[o++];
  try {
    String entityMapping=webAppsDir + portalImplWebDir + "String_Node_Str";
    File file=new File(entityMapping);
    RandomAccessFile ras=new RandomAccessFile(file,"String_Node_Str");
    long length=ras.length();
    byte[] contentByte=new byte[(int)length];
    ras.read(contentByte);
    String contentString=new String(contentByte);
    long pos=contentString.lastIndexOf("String_Node_Str");
    ras.seek(pos);
    ras.writeBytes("String_Node_Str" + appId + "String_Node_Str");
    ras.writeBytes("String_Node_Str" + portletApp + "String_Node_Str");
    StringTokenizer tokenizer;
    for (int i=o; i < args.length; ++i) {
      tokenizer=new StringTokenizer(args[i],"String_Node_Str");
      String portletId=tokenizer.nextToken();
      String portletName=tokenizer.nextToken();
      ras.writeBytes("String_Node_Str" + portletId + "String_Node_Str");
      ras.writeBytes("String_Node_Str" + portletApp + "String_Node_Str"+ portletName+ "String_Node_Str");
      ras.writeBytes("String_Node_Str");
    }
    ras.writeBytes("String_Node_Str");
    ras.writeBytes("String_Node_Str");
    ras.close();
  }
 catch (  Exception e) {
    e.printStackTrace(System.out);
    throw new PlutoAdminException("String_Node_Str",e);
  }
}