Program: 77387
Project: 77387
Buggy source:
/** 
 * save the dataset design's metadata info
 * @param design
 */
public static void saveDataSetDesign(DataSetDesign design){
  IConnection conn=null;
  try {
    IDriver jdbcDriver=new OdaJdbcDriver();
    conn=jdbcDriver.getConnection(null);
    java.util.Properties prop=new java.util.Properties();
    DataSourceDesign dataSourceDesign=design.getDataSourceDesign();
    if (dataSourceDesign != null) {
      prop.put(Constants.ODADriverClass,dataSourceDesign.getPublicProperties().getProperty(Constants.ODADriverClass) == null ? "String_Node_Str" : dataSourceDesign.getPublicProperties().getProperty(Constants.ODADriverClass));
      prop.put(Constants.ODAURL,dataSourceDesign.getPublicProperties().getProperty(Constants.ODAURL) == null ? "String_Node_Str" : dataSourceDesign.getPublicProperties().getProperty(Constants.ODAURL));
      prop.put(Constants.ODAUser,dataSourceDesign.getPublicProperties().getProperty(Constants.ODAUser) == null ? "String_Node_Str" : dataSourceDesign.getPublicProperties().getProperty(Constants.ODAUser));
      prop.put(Constants.ODAPassword,dataSourceDesign.getPublicProperties().getProperty(Constants.ODAPassword) == null ? "String_Node_Str" : dataSourceDesign.getPublicProperties().getProperty(Constants.ODAPassword));
    }
    conn.open(prop);
    IQuery query=conn.newQuery(design.getOdaExtensionDataSetId());
    query.setMaxRows(1);
    query.prepare(design.getQueryText());
    setParameterMetaData(design,query);
    IResultSetMetaData metadata=query.getMetaData();
    if (metadata != null)     setResultSetMetaData(design,metadata);
 else {
      query.executeQuery();
      metadata=query.getMetaData();
      setResultSetMetaData(design,metadata);
    }
  }
 catch (  OdaException e) {
    design.setResultSets(null);
  }
 finally {
    if (conn != null)     try {
      conn.close();
    }
 catch (    OdaException e) {
      e.printStackTrace();
    }
    ;
  }
}

Fixed version (ground truth):
/** 
 * save the dataset design's metadata info
 * @param design
 */
public static void saveDataSetDesign(DataSetDesign design){
  IConnection conn=null;
  try {
    IDriver jdbcDriver=new OdaJdbcDriver();
    conn=jdbcDriver.getConnection(null);
    java.util.Properties prop=new java.util.Properties();
    DataSourceDesign dataSourceDesign=design.getDataSourceDesign();
    if (dataSourceDesign != null) {
      prop.put(Constants.ODADriverClass,dataSourceDesign.getPublicProperties().getProperty(Constants.ODADriverClass) == null ? "String_Node_Str" : dataSourceDesign.getPublicProperties().getProperty(Constants.ODADriverClass));
      prop.put(Constants.ODAURL,dataSourceDesign.getPublicProperties().getProperty(Constants.ODAURL) == null ? "String_Node_Str" : dataSourceDesign.getPublicProperties().getProperty(Constants.ODAURL));
      prop.put(Constants.ODAUser,dataSourceDesign.getPublicProperties().getProperty(Constants.ODAUser) == null ? "String_Node_Str" : dataSourceDesign.getPublicProperties().getProperty(Constants.ODAUser));
      prop.put(Constants.ODAPassword,dataSourceDesign.getPublicProperties().getProperty(Constants.ODAPassword) == null ? "String_Node_Str" : dataSourceDesign.getPublicProperties().getProperty(Constants.ODAPassword));
    }
    conn.open(prop);
    IQuery query=conn.newQuery(design.getOdaExtensionDataSetId());
    query.setMaxRows(1);
    query.prepare(design.getQueryText());
    setParameterMetaData(design,query);
    IResultSetMetaData metadata=query.getMetaData();
    setResultSetMetaData(design,metadata);
  }
 catch (  OdaException e) {
    design.setResultSets(null);
  }
 finally {
    if (conn != null)     try {
      conn.close();
    }
 catch (    OdaException e) {
      e.printStackTrace();
    }
    ;
  }
}