Language: Java
Label: safe
CWE: CWE-89 \u2014 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.

Code:
    public static Dialect detect(DataSource dataSource, boolean debugMode) {
        Dialect dialect;
        try {
            Connection conn = dataSource.getConnection();
            String driver = conn.getMetaData().getDriverName();
            if (driver.contains("Oracle")) {
                dialect = new OracleDialect();
            } else {
                dialect = new Dialect();
            }
            conn.close();
        } catch (SQLException ex) {
            throw new RuntimeException(ex);
        }
        dialect.setDebugMode(debugMode);
        return dialect;
    }