[Libreoffice-commits] core.git: tools/source

Caolán McNamara caolanm at redhat.com
Thu Mar 2 21:32:42 UTC 2017


 tools/source/stream/stream.cxx |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

New commits:
commit 9e74b1b3be096ae6fb937cbf1f382e96a33d8b1e
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Mar 2 20:40:44 2017 +0000

    readonly SvMemoryStream shouldn't allow resize
    
    Change-Id: I4cd1969cc961d48f904460371ab0a0f960bdea1e
    Reviewed-on: https://gerrit.libreoffice.org/34832
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/tools/source/stream/stream.cxx b/tools/source/stream/stream.cxx
index d9e99b4..fa69f58 100644
--- a/tools/source/stream/stream.cxx
+++ b/tools/source/stream/stream.cxx
@@ -1830,7 +1830,7 @@ bool SvMemoryStream::AllocateMemory( std::size_t nNewSize )
 // (using Bozo algorithm)
 bool SvMemoryStream::ReAllocateMemory( long nDiff )
 {
-    if (!bOwnsData)
+    if (!m_isWritable || !bOwnsData)
         return false;
 
     bool bRetVal    = false;
@@ -1916,6 +1916,12 @@ void* SvMemoryStream::SwitchBuffer()
 
 void SvMemoryStream::SetSize(sal_uInt64 const nNewSize)
 {
+    if (!m_isWritable)
+    {
+        SetError(SVSTREAM_INVALID_HANDLE);
+        return;
+    }
+
     long nDiff = (long)nNewSize - (long)nSize;
     ReAllocateMemory( nDiff );
 }


More information about the Libreoffice-commits mailing list