diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-11-29 09:02:16 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-11-29 11:17:35 +0100 |
commit | d02e49d9b946277b4797526ed43a96d39757816f (patch) | |
tree | 822b43d797d171b7aaddfe190e0ffd68520b5a87 /sot | |
parent | af8431d8dbc59df1e1f17742a1be002b054f3b00 (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.cxx | 5 |
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 ) { |