summaryrefslogtreecommitdiffstats
path: root/connectivity
diff options
context:
space:
mode:
authorJulien Nabet <serval2412@yahoo.fr>2019-09-21 15:22:16 +0200
committerCaolán McNamara <caolanm@redhat.com>2019-09-23 09:59:32 +0200
commit3a70b4a1be0e790579cc15e9917bd575de8d5315 (patch)
treee0d51361ffacff92fe3b8454a1d292c5d526964d /connectivity
parenttdf#127235 break if object is larger than page (diff)
downloadcore-3a70b4a1be0e790579cc15e9917bd575de8d5315.tar.gz
core-3a70b4a1be0e790579cc15e9917bd575de8d5315.zip
tdf#127657: FIREBIRD error in query input param when referred field is integer
Change-Id: I626c8a8869570986d0293cd9070a1ee40ec585dc Reviewed-on: https://gerrit.libreoffice.org/79314 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> (cherry picked from commit f23e19cd15f14566832befba73fb6bbc1cffb0d7) Reviewed-on: https://gerrit.libreoffice.org/79372 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/firebird/PreparedStatement.cxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/connectivity/source/drivers/firebird/PreparedStatement.cxx b/connectivity/source/drivers/firebird/PreparedStatement.cxx
index 71a43454f315..4586cc4a3ba4 100644
--- a/connectivity/source/drivers/firebird/PreparedStatement.cxx
+++ b/connectivity/source/drivers/firebird/PreparedStatement.cxx
@@ -229,6 +229,20 @@ void SAL_CALL OPreparedStatement::setString(sal_Int32 nParameterIndex,
assert( pVar->sqlsubtype == static_cast<short>(BlobSubtype::Clob) );
setClob(nParameterIndex, sInput );
break;
+ case SQL_SHORT:
+ {
+ sal_Int32 int32Value = sInput.toInt32();
+ if ( (int32Value < std::numeric_limits<sal_Int16>::min()) ||
+ (int32Value > std::numeric_limits<sal_Int16>::max()) )
+ {
+ ::dbtools::throwSQLException(
+ "Value out of range for SQL_SHORT type",
+ ::dbtools::StandardSQLState::INVALID_SQL_DATA_TYPE,
+ *this);
+ }
+ setShort(nParameterIndex, int32Value);
+ break;
+ }
default:
::dbtools::throwSQLException(
"Incorrect type for setString",