diff options
-rw-r--r-- | sot/source/sdstor/ucbstorage.cxx | 5 | ||||
-rw-r--r-- | sot/source/unoolestorage/xolesimplestorage.cxx | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/sot/source/sdstor/ucbstorage.cxx b/sot/source/sdstor/ucbstorage.cxx index d3b53a710863..ec3003bc9ff4 100644 --- a/sot/source/sdstor/ucbstorage.cxx +++ b/sot/source/sdstor/ucbstorage.cxx @@ -145,13 +145,14 @@ sal_Int32 SAL_CALL FileStreamWrapper_Impl::readBytes(Sequence< sal_Int8 >& aData ::osl::MutexGuard aGuard( m_aMutex ); - aData.realloc(nBytesToRead); + if (aData.getLength() < nBytesToRead) + aData.realloc(nBytesToRead); sal_uInt32 nRead = m_pSvStream->Read(static_cast<void*>(aData.getArray()), nBytesToRead); checkError(); // Wenn gelesene Zeichen < MaxLength, Sequence anpassen - if (nRead < (sal_uInt32)nBytesToRead) + if ((sal_Int32)nRead < aData.getLength()) aData.realloc( nRead ); return nRead; diff --git a/sot/source/unoolestorage/xolesimplestorage.cxx b/sot/source/unoolestorage/xolesimplestorage.cxx index fd2376010ed3..76f2b76af79d 100644 --- a/sot/source/unoolestorage/xolesimplestorage.cxx +++ b/sot/source/unoolestorage/xolesimplestorage.cxx @@ -203,8 +203,6 @@ void OLESimpleStorage::InsertInputStreamToStorage_Impl( BaseStorage* pStorage, c do { nRead = xInputStream->readBytes( aData, nBytesCount ); - if ( nRead < nBytesCount ) - aData.realloc( nRead ); sal_Int32 nWritten = pNewStream->Write( aData.getArray(), nRead ); if ( nWritten < nRead ) |