Program: 11395
Project: 11395
Buggy source:
DVEng(IDVSession session,IDVSession.CIPHER_NAME_CONVENTION cipher_name_convention,DVBackgroundTask dvtask) throws DVException {
  try {
    this.session=(MutableDVSession)session;
    this.url=session.getURL();
    dvtask=(dvtask == null) ? new DVBackgroundTask() : dvtask;
    servmeta=CipherSuiteUtil.getServerMetadataInstance(url,cipher_name_convention,this.session,dvtask);
    if (servmeta == null) {
      String msg="String_Node_Str";
      logger.error(msg);
      throw new DVException(msg);
    }
    InputStream is=this.getClass().getClassLoader().getResourceAsStream("String_Node_Str");
    Properties p=new Properties();
    p.load(is);
    String sVersion=p.getProperty("String_Node_Str");
    if (sVersion != null && sVersion.length() > 0) {
      int f1=sVersion.indexOf('.');
      int f2=sVersion.lastIndexOf('.');
      int f3=sVersion.lastIndexOf('-');
      if (f3 > -1) {
        bSnapShot=true;
      }
      if (f1 > 0 && f2 > 0) {
        try {
          iVersionMajor=Integer.parseInt(sVersion.substring(0,f1));
        }
 catch (        NumberFormatException e) {
          logger.debug("String_Node_Str" + sVersion + "String_Node_Str"+ f1+ "String_Node_Str"+ f2+ "String_Node_Str"+ f3);
          iVersionMajor=-1;
        }
        try {
          iVersionMinor=Integer.parseInt(sVersion.substring(f1 + 1,f2));
        }
 catch (        NumberFormatException e) {
          logger.debug("String_Node_Str" + sVersion + "String_Node_Str"+ f1+ "String_Node_Str"+ f2+ "String_Node_Str"+ f3);
          iVersionMinor=-1;
        }
        try {
          iVersionBuild=Integer.parseInt(sVersion.substring(f2 + 1,f3));
        }
 catch (        NumberFormatException e) {
          logger.debug("String_Node_Str" + sVersion + "String_Node_Str"+ f1+ "String_Node_Str"+ f2+ "String_Node_Str"+ f3);
          iVersionBuild=-1;
        }
      }
 else {
        logger.debug("String_Node_Str" + sVersion + "String_Node_Str"+ f1+ "String_Node_Str"+ f2+ "String_Node_Str"+ f3);
      }
    }
  }
 catch (  DVException e) {
    throw e;
  }
catch (  Exception e) {
    String msg="String_Node_Str" + e.getMessage();
    logger.error(msg,e);
    throw new DVException(msg,e);
  }
}

Fixed version (ground truth):
DVEng(IDVSession session,IDVSession.CIPHER_NAME_CONVENTION cipher_name_convention,DVBackgroundTask dvtask) throws DVException {
  try {
    this.session=(MutableDVSession)session;
    this.url=session.getURL();
    dvtask=(dvtask == null) ? new DVBackgroundTask() : dvtask;
    servmeta=CipherSuiteUtil.getServerMetadataInstance(url,cipher_name_convention,this.session,dvtask);
    if (servmeta == null) {
      String msg="String_Node_Str";
      logger.error(msg);
      throw new DVException(msg);
    }
    InputStream is=this.getClass().getClassLoader().getResourceAsStream("String_Node_Str");
    Properties p=new Properties();
    p.load(is);
    String sVersion=p.getProperty("String_Node_Str");
    logger.debug("String_Node_Str" + sVersion);
    if (sVersion != null && sVersion.length() > 0) {
      int f1=sVersion.indexOf('.');
      int f2=sVersion.lastIndexOf('.');
      int f3=sVersion.lastIndexOf('-');
      if (f3 > -1) {
        bSnapShot=true;
      }
      if (f1 > 0 && f2 > 0) {
        try {
          iVersionMajor=Integer.parseInt(sVersion.substring(0,f1));
          iVersionMinor=Integer.parseInt(sVersion.substring(f1 + 1,f2));
          iVersionBuild=Integer.parseInt(sVersion.substring(f2 + 1,f3));
        }
 catch (        Exception e) {
          iVersionMajor=-1;
          iVersionMinor=-1;
          iVersionBuild=-1;
          String msg="String_Node_Str" + sVersion + "String_Node_Str"+ f1+ "String_Node_Str"+ f2+ "String_Node_Str"+ f3;
          logger.debug(msg);
          throw new DVException(msg);
        }
      }
 else {
        logger.debug("String_Node_Str" + sVersion + "String_Node_Str"+ f1+ "String_Node_Str"+ f2+ "String_Node_Str"+ f3);
      }
    }
  }
 catch (  DVException e) {
    throw e;
  }
catch (  Exception e) {
    String msg="String_Node_Str" + e.getMessage();
    logger.error(msg,e);
    throw new DVException(msg,e);
  }
}