summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorTamas Bunth <tamas.bunth@collabora.co.uk>2018-09-12 17:39:07 +0200
committerAndras Timar <andras.timar@collabora.com>2018-09-14 13:06:34 +0200
commit0184d388e175b2df79e2a9ba48ce28552915f75f (patch)
tree09682182a32019b64195310d071e6fe45dfa27ee /connectivity
parent19f8ea668833a4dc90244792cbf91881b0ca9a07 (diff)
mysqlc: prep stmt: check if cursor out of range
Change-Id: I81307c6e45220081c39ddd7d1672457202bbc517 Reviewed-on: https://gerrit.libreoffice.org/60404 Tested-by: Jenkins Reviewed-by: Tamás Bunth <btomi96@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/60461 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
index cc8d3bbdfad5..b59afae53687 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
@@ -260,6 +260,7 @@ sal_Int32 SAL_CALL OPreparedResultSet::getInt(sal_Int32 column)
{
MutexGuard aGuard(m_aMutex);
checkDisposed(OPreparedResultSet_BASE::rBHelper.bDisposed);
+ checkColumnIndex(column);
if (*m_aData[column - 1].is_null)
{
m_bWasNull = true;
@@ -1082,6 +1083,8 @@ css::uno::Reference<css::beans::XPropertySetInfo> SAL_CALL OPreparedResultSet::g
void OPreparedResultSet::checkColumnIndex(sal_Int32 index)
{
+ if (!m_aData)
+ throw SQLException("Cursor out of range", *this, rtl::OUString(), 1, Any());
if (index < 1 || index > static_cast<int>(m_nFieldCount))
{
/* static object for efficiency or thread safety is a problem ? */