Program: 150462
Project: 150462
Buggy source:
/** 
 * Creates instances of DBConnectionPool objects based on the properties. A DBConnectionPool can be defined with the following properties: <PRE> poolname.url         The JDBC URL for the database poolname.user        A database user (optional) poolname.password    A database user password (if user specified) poolname.maxconn     The maximal number of connections (optional) </PRE>
 * @param props The connection pool properties
 */
private void createPools(Properties dbProperties){
  Enumeration propNames=dbProperties.propertyNames();
  while (propNames.hasMoreElements()) {
    String name=(String)propNames.nextElement();
    if (name.endsWith("String_Node_Str")) {
      String poolName=name.substring(0,name.lastIndexOf('.'));
      String url=dbProperties.getProperty(poolName + "String_Node_Str").trim();
      if (url == null) {
        logger.warn("String_Node_Str" + poolName);
        continue;
      }
      String user=dbProperties.getProperty(poolName + "String_Node_Str").trim();
      String password=dbProperties.getProperty(poolName + "String_Node_Str").trim();
      String maxconn=dbProperties.getProperty(poolName + "String_Node_Str").trim();
      int max;
      try {
        max=Integer.valueOf(maxconn).intValue();
      }
 catch (      NumberFormatException e) {
        logger.warn("String_Node_Str" + maxconn + "String_Node_Str"+ poolName);
        max=0;
      }
      DBConnectionPool pool=new DBConnectionPool(url,user,password,max);
      pools.put(poolName,pool);
      logger.info("String_Node_Str" + poolName + "String_Node_Str");
    }
  }
}

Fixed version (ground truth):
/** 
 * Creates instances of DBConnectionPool objects based on the properties. A DBConnectionPool can be defined with the following properties: <pre> poolname.url         The JDBC URL for the database poolname.user        A database user (optional) poolname.password    A database user password (if user specified) poolname.maxconn     The maximal number of connections (optional) </pre>
 * @param props The connection pool properties
 */
private void createPools(Properties dbProperties){
  Enumeration propNames=dbProperties.propertyNames();
  while (propNames.hasMoreElements()) {
    String name=(String)propNames.nextElement();
    if (name.endsWith("String_Node_Str")) {
      String poolName=name.substring(0,name.lastIndexOf('.'));
      String url=dbProperties.getProperty(poolName + "String_Node_Str").trim();
      if (url == null) {
        logger.warn("String_Node_Str" + poolName);
        continue;
      }
      String user=dbProperties.getProperty(poolName + "String_Node_Str").trim();
      String password=dbProperties.getProperty(poolName + "String_Node_Str").trim();
      String maxconn=dbProperties.getProperty(poolName + "String_Node_Str").trim();
      int max;
      try {
        max=Integer.valueOf(maxconn).intValue();
      }
 catch (      NumberFormatException e) {
        logger.warn("String_Node_Str" + maxconn + "String_Node_Str"+ poolName);
        max=0;
      }
      DBConnectionPool pool=new DBConnectionPool(url,user,password,max);
      pools.put(poolName,pool);
      logger.info("String_Node_Str" + poolName + "String_Node_Str");
    }
  }
}