Program: 14271
Project: 14271
Buggy source:
public RemoveMultiANameResponseType RemoveMultiAName(RemoveMultiANameType request) throws EucalyptusCloudException {
  RemoveMultiANameResponseType reply=(RemoveMultiANameResponseType)request.getReply();
  String zone=request.getZone();
  if (zone.endsWith("String_Node_Str"))   zone+=DNSProperties.DOMAIN + "String_Node_Str";
 else   zone+="String_Node_Str" + DNSProperties.DOMAIN + "String_Node_Str";
  String name=request.getName();
  if (name.endsWith("String_Node_Str"))   name+=DNSProperties.DOMAIN + "String_Node_Str";
 else   name+="String_Node_Str" + DNSProperties.DOMAIN + "String_Node_Str";
  EntityTransaction db=Entities.get(ARecordNameInfo.class);
  ARecordNameInfo nameInfo=null;
  try {
    nameInfo=Entities.uniqueResult(ARecordNameInfo.named(name,zone));
    db.commit();
  }
 catch (  NoSuchElementException ex) {
    db.rollback();
    return reply;
  }
catch (  Exception ex) {
    db.rollback();
    throw new EucalyptusCloudException("String_Node_Str",ex);
  }
  List<ARecordAddressInfo> addresses=Lists.newArrayList(nameInfo.getAddresses());
  for (  ARecordAddressInfo addr : addresses) {
    try {
      ARecord arecord=new ARecord(Name.fromString(name),DClass.IN,nameInfo.getTtl(),Address.getByAddress(addr.getAddress()));
      ZoneManager.deleteARecord(zone,arecord);
    }
 catch (    Exception ex) {
      throw new EucalyptusCloudException("String_Node_Str",ex);
    }
  }
  db=Entities.get(ARecordNameInfo.class);
  try {
    nameInfo=Entities.uniqueResult(ARecordNameInfo.named(name,zone));
    Entities.delete(nameInfo);
    db.commit();
  }
 catch (  NoSuchElementException ex) {
    db.rollback();
  }
catch (  Exception ex) {
    db.rollback();
    throw new EucalyptusCloudException("String_Node_Str",ex);
  }
  return reply;
}

Fixed version (ground truth):
public RemoveMultiANameResponseType RemoveMultiAName(RemoveMultiANameType request) throws EucalyptusCloudException {
  RemoveMultiANameResponseType reply=(RemoveMultiANameResponseType)request.getReply();
  String zone=request.getZone();
  if (zone.endsWith("String_Node_Str"))   zone+=DNSProperties.DOMAIN + "String_Node_Str";
 else   zone+="String_Node_Str" + DNSProperties.DOMAIN + "String_Node_Str";
  String name=request.getName();
  if (name.endsWith("String_Node_Str"))   name+=DNSProperties.DOMAIN + "String_Node_Str";
 else   name+="String_Node_Str" + DNSProperties.DOMAIN + "String_Node_Str";
  EntityTransaction db=Entities.get(ARecordNameInfo.class);
  ARecordNameInfo nameInfo=null;
  List<ARecordAddressInfo> addresses=null;
  try {
    nameInfo=Entities.uniqueResult(ARecordNameInfo.named(name,zone));
    addresses=Lists.newArrayList(nameInfo.getAddresses());
    db.commit();
  }
 catch (  NoSuchElementException ex) {
    db.rollback();
    return reply;
  }
catch (  Exception ex) {
    db.rollback();
    throw new EucalyptusCloudException("String_Node_Str",ex);
  }
  for (  ARecordAddressInfo addr : addresses) {
    try {
      ARecord arecord=new ARecord(Name.fromString(name),DClass.IN,nameInfo.getTtl(),Address.getByAddress(addr.getAddress()));
      ZoneManager.deleteARecord(zone,arecord);
    }
 catch (    Exception ex) {
      throw new EucalyptusCloudException("String_Node_Str",ex);
    }
  }
  db=Entities.get(ARecordNameInfo.class);
  try {
    nameInfo=Entities.uniqueResult(ARecordNameInfo.named(name,zone));
    Entities.delete(nameInfo);
    db.commit();
  }
 catch (  NoSuchElementException ex) {
    db.rollback();
  }
catch (  Exception ex) {
    db.rollback();
    throw new EucalyptusCloudException("String_Node_Str",ex);
  }
  return reply;
}