summaryrefslogtreecommitdiff
path: root/sot
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-11-29 09:02:16 +0000
committerCaolán McNamara <caolanm@redhat.com>2017-11-29 11:17:35 +0100
commitd02e49d9b946277b4797526ed43a96d39757816f (patch)
tree822b43d797d171b7aaddfe190e0ffd68520b5a87 /sot
parentaf8431d8dbc59df1e1f17742a1be002b054f3b00 (diff)
ofz#4476 Integer-overflow
Change-Id: I7ee197b396026fb25872f9e79c3be098329a5cee Reviewed-on: https://gerrit.libreoffice.org/45467 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sot')
-rw-r--r--sot/source/sdstor/stgstrms.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/sot/source/sdstor/stgstrms.cxx b/sot/source/sdstor/stgstrms.cxx
index 0feebb3107cf..d83ffff27399 100644
--- a/sot/source/sdstor/stgstrms.cxx
+++ b/sot/source/sdstor/stgstrms.cxx
@@ -913,8 +913,9 @@ sal_Int32 StgDataStrm::Read( void* pBuf, sal_Int32 n )
if ( n < 0 )
return 0;
- if( ( m_nPos + n ) > m_nSize )
- n = m_nSize - m_nPos;
+ const auto nAvailable = m_nSize - m_nPos;
+ if (n > nAvailable)
+ n = nAvailable;
sal_Int32 nDone = 0;
while( n )
{