summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-07-24 11:22:58 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-07-24 22:21:32 +0200
commit30320abbef8fabfeadda2b31b72f595c4a1c1ed9 (patch)
tree986c89aa358e066887ff1efa757730e6e665b740 /connectivity
parentceac24b4a140a471a36f423bf48dce32860e8911 (diff)
cid#1448360 Assignment of overlapping memory
Change-Id: Ifefa007ff7534e65cc35cdbcb4983012b36ed6e0 Reviewed-on: https://gerrit.libreoffice.org/76248 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/commontools/FValue.cxx12
1 files changed, 10 insertions, 2 deletions
diff --git a/connectivity/source/commontools/FValue.cxx b/connectivity/source/commontools/FValue.cxx
index 61f344bb92b5..51adab4f3e98 100644
--- a/connectivity/source/commontools/FValue.cxx
+++ b/connectivity/source/commontools/FValue.cxx
@@ -2086,11 +2086,19 @@ void ORowSetValue::setSigned(bool _bMod)
}
break;
case DataType::BIGINT:
+ {
if ( m_bSigned )
- m_aValue.m_nInt64 = static_cast<sal_Int64>(m_aValue.m_uInt64);
+ {
+ auto nTmp = static_cast<sal_Int64>(m_aValue.m_uInt64);
+ m_aValue.m_nInt64 = nTmp;
+ }
else
- m_aValue.m_uInt64 = static_cast<sal_uInt64>(m_aValue.m_nInt64);
+ {
+ auto nTmp = static_cast<sal_uInt64>(m_aValue.m_nInt64);
+ m_aValue.m_uInt64 = nTmp;
+ }
break;
+ }
}
m_eTypeKind = nType;
}