diff options
Diffstat (limited to 'svl/source/items/poolio.cxx')
-rw-r--r-- | svl/source/items/poolio.cxx | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/svl/source/items/poolio.cxx b/svl/source/items/poolio.cxx index 90d952ad76de..7f2dc56bd1a1 100644 --- a/svl/source/items/poolio.cxx +++ b/svl/source/items/poolio.cxx @@ -28,6 +28,7 @@ #include <svl/brdcst.hxx> #include <svl/filerec.hxx> #include "poolio.hxx" +#include <boost/scoped_array.hpp> // STATIC DATA ----------------------------------------------------------- @@ -762,10 +763,10 @@ SvStream &SfxItemPool::Load1_Impl(SvStream &rStream) CHECK_FILEFORMAT( rStream, SFX_ITEMPOOL_TAG_SIZES ); sal_uInt32 nSizeTableLen(0); rStream.ReadUInt32( nSizeTableLen ); - sal_Char *pBuf = new sal_Char[nSizeTableLen]; - rStream.Read( pBuf, nSizeTableLen ); + boost::scoped_array<sal_Char> pBuf(new sal_Char[nSizeTableLen]); + rStream.Read( pBuf.get(), nSizeTableLen ); sal_uLong nEndOfSizes = rStream.Tell(); - SvMemoryStream aSizeTable( pBuf, nSizeTableLen, STREAM_READ ); + SvMemoryStream aSizeTable( pBuf.get(), nSizeTableLen, STREAM_READ ); // ab Version 1.3 steht in der Size-Table eine Versions-Map if ( pImp->nMajorVer > 1 || pImp->nMinorVer >= 3 ) @@ -968,7 +969,7 @@ SvStream &SfxItemPool::Load1_Impl(SvStream &rStream) rStream.Seek( nPos + nSize ); } - delete[] pBuf; + pBuf.reset(); rStream.Seek(nEndOfSizes); CHECK_FILEFORMAT( rStream, SFX_ITEMPOOL_TAG_ENDPOOL ); CHECK_FILEFORMAT( rStream, SFX_ITEMPOOL_TAG_ENDPOOL ); |