Skip to content

Commit 47ca011

Browse files
committed
HBX-3175: Query built by concatenation with a possibly-untrusted string in SQLServerMetaDataDialect
Signed-off-by: Koen Aers <[email protected]>
1 parent a55a133 commit 47ca011

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

orm/src/main/java/org/hibernate/tool/internal/reveng/dialect/SQLServerMetaDataDialect.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,17 @@ public Iterator<Map<String, Object>> getSuggestedPrimaryKeyStrategyName(String c
2222
table = caseForSearch( table );
2323

2424
log.debug("geSuggestedPrimaryKeyStrategyName(" + catalog + "." + schema + "." + table + ")");
25-
25+
2626
sql = "SELECT a.TABLE_CATALOG, a.TABLE_SCHEMA, a.TABLE_NAME as table_name, c.DATA_TYPE as data_type, b.CONSTRAINT_TYPE, OBJECTPROPERTY(OBJECT_ID(a.TABLE_NAME),'TableHasIdentity') as hasIdentity " +
2727
"FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE a " +
2828
"INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS b on a.CONSTRAINT_NAME = b.CONSTRAINT_NAME " +
2929
"INNER JOIN INFORMATION_SCHEMA.COLUMNS c on a.TABLE_CATALOG = c.TABLE_CATALOG AND a.TABLE_SCHEMA = c.TABLE_SCHEMA AND a.TABLE_NAME = c.TABLE_NAME AND a.COLUMN_NAME = c.COLUMN_NAME " +
30-
"WHERE a.TABLE_NAME='"+table+"' AND a.TABLE_SCHEMA='"+schema+"' AND a.TABLE_CATALOG='"+catalog+"' AND b.CONSTRAINT_TYPE = 'Primary key'";
31-
30+
"WHERE a.TABLE_NAME=? AND a.TABLE_SCHEMA=? AND a.TABLE_CATALOG=? AND b.CONSTRAINT_TYPE = 'Primary key'";
31+
3232
PreparedStatement statement = getConnection().prepareStatement( sql );
33+
statement.setString(1, table);
34+
statement.setString( 2, schema );
35+
statement.setString( 3, catalog );
3336

3437
final String sc = schema;
3538
final String cat = catalog;

0 commit comments

Comments
 (0)