Program: 132282
Project: 132282
Buggy source:
private void read() throws IOException {
  String tempDir=this.readRequiredString("String_Node_Str");
  if (tempDir.endsWith("String_Node_Str") || tempDir.endsWith("String_Node_Str")) {
    backupDir=tempDir;
  }
 else   if (tempDir.contains("String_Node_Str")) {
    backupDir=tempDir + "String_Node_Str";
  }
 else   if (tempDir.contains("String_Node_Str")) {
    backupDir=tempDir + "String_Node_Str";
  }
 else {
    backupDir=tempDir + File.separator;
  }
  this.localTimeRenew=this.readOptionalInt("String_Node_Str",0);
  this.redirect=readOptionalBoolean("String_Node_Str",false);
  if (this.readOptionalBoolean("String_Node_Str",false)) {
    this.sslOptions=new SSLOptions(new FileInputStream(this.readRequiredString("String_Node_Str")),this.readRequiredString("String_Node_Str"),this.readRequiredString("String_Node_Str"),new FileInputStream(this.readRequiredString("String_Node_Str")),this.readRequiredString("String_Node_Str"),this.readRequiredString("String_Node_Str"),this.readRequiredBoolean("String_Node_Str"));
  }
  this.chunkSize=this.readOptionalInt("String_Node_Str",DEFAULT_MAX_CHUNK_SIZE);
  this.syncN=this.readOptionalInt("String_Node_Str",0);
  this.participants=new HashSet<InetSocketAddress>();
  this.address=this.readOptionalInetSocketAddr("String_Node_Str","String_Node_Str",null);
  int number=0;
  InetSocketAddress addrs;
  while ((addrs=readOptionalInetSocketAddr("String_Node_Str" + number,"String_Node_Str" + number + "String_Node_Str",null)) != null) {
    participants.add(addrs);
    number++;
  }
  parseParticipants();
  policyName=readOptionalString("String_Node_Str","String_Node_Str");
  checkArgs();
}

Fixed version (ground truth):
private void read() throws IOException {
  String tempDir=this.readRequiredString("String_Node_Str");
  if (tempDir.endsWith("String_Node_Str") || tempDir.endsWith("String_Node_Str")) {
    backupDir=tempDir;
  }
 else   if (tempDir.contains("String_Node_Str")) {
    backupDir=tempDir + "String_Node_Str";
  }
 else   if (tempDir.contains("String_Node_Str")) {
    backupDir=tempDir + "String_Node_Str";
  }
 else {
    backupDir=tempDir + File.separator;
  }
  this.localTimeRenew=this.readOptionalInt("String_Node_Str",0);
  this.redirect=readOptionalBoolean("String_Node_Str",false);
  if (this.readOptionalBoolean("String_Node_Str",false)) {
    this.sslOptions=new SSLOptions(new FileInputStream(this.readRequiredString("String_Node_Str")),this.readRequiredString("String_Node_Str"),this.readRequiredString("String_Node_Str"),new FileInputStream(this.readRequiredString("String_Node_Str")),this.readRequiredString("String_Node_Str"),this.readRequiredString("String_Node_Str"),this.readRequiredBoolean("String_Node_Str"),false,null);
  }
  this.chunkSize=this.readOptionalInt("String_Node_Str",DEFAULT_MAX_CHUNK_SIZE);
  this.syncN=this.readOptionalInt("String_Node_Str",0);
  this.participants=new HashSet<InetSocketAddress>();
  this.address=this.readOptionalInetSocketAddr("String_Node_Str","String_Node_Str",null);
  int number=0;
  InetSocketAddress addrs;
  while ((addrs=readOptionalInetSocketAddr("String_Node_Str" + number,"String_Node_Str" + number + "String_Node_Str",null)) != null) {
    participants.add(addrs);
    number++;
  }
  parseParticipants();
  policyName=readOptionalString("String_Node_Str","String_Node_Str");
  checkArgs();
}