HHH-14077 : CVE-2019-14900 SQL injection issue using JPA Criteria API
This commit is contained in:
parent
b038e24c08
commit
e0e22ea256
|
@ -110,6 +110,11 @@ public class LiteralExpression<T> extends ExpressionImpl<T> implements Serializa
|
|||
}
|
||||
|
||||
private String renderProjection(RenderingContext renderingContext) {
|
||||
if ( ValueHandlerFactory.isCharacter( literal ) ) {
|
||||
// In case literal is a Character, pass literal.toString() as the argument.
|
||||
return renderingContext.getDialect().inlineLiteral( literal.toString() );
|
||||
}
|
||||
|
||||
// some drivers/servers do not like parameters in the select clause
|
||||
final ValueHandlerFactory.ValueHandler handler =
|
||||
ValueHandlerFactory.determineAppropriateHandler( literal.getClass() );
|
||||
|
@ -117,10 +122,6 @@ public class LiteralExpression<T> extends ExpressionImpl<T> implements Serializa
|
|||
if ( handler == null ) {
|
||||
return normalRender( renderingContext, LiteralHandlingMode.BIND );
|
||||
}
|
||||
|
||||
if ( ValueHandlerFactory.isCharacter( literal ) ) {
|
||||
return renderingContext.getDialect().inlineLiteral( handler.render( literal ) );
|
||||
}
|
||||
else {
|
||||
return handler.render( literal );
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue