lotuswordpro/source/filter/lwpgrfobj.cxx | 8 ++++++++ lotuswordpro/source/filter/lwpobjstrm.cxx | 6 ++++++ lotuswordpro/source/filter/lwpobjstrm.hxx | 1 + sfx2/source/control/request.cxx | 8 ++++---- 4 files changed, 19 insertions(+), 4 deletions(-)
New commits: commit 1353ebe535732022aef4377030d86ad7153c3144 Author: Caolán McNamara <caol...@redhat.com> Date: Fri Mar 10 10:21:41 2017 +0000 ofz#801 avoid oom Change-Id: Id3167d1eb3f058543ab7596008012d51b3d242b7 diff --git a/lotuswordpro/source/filter/lwpgrfobj.cxx b/lotuswordpro/source/filter/lwpgrfobj.cxx index 04d4616..cf5cc995 100644 --- a/lotuswordpro/source/filter/lwpgrfobj.cxx +++ b/lotuswordpro/source/filter/lwpgrfobj.cxx @@ -113,6 +113,14 @@ void LwpGraphicObject::Read() unsigned char *pServerContext = nullptr; if (nServerContextSize > 0) { + sal_uInt16 nMaxPossibleSize = m_pObjStrm->remainingSize(); + + if (nServerContextSize > nMaxPossibleSize) + { + SAL_WARN("lwp", "stream too short for claimed no of records"); + nServerContextSize = nMaxPossibleSize; + } + pServerContext = new unsigned char[nServerContextSize]; m_pObjStrm->QuickRead(pServerContext, static_cast<sal_uInt16>(nServerContextSize)); if (nServerContextSize > 44) diff --git a/lotuswordpro/source/filter/lwpobjstrm.cxx b/lotuswordpro/source/filter/lwpobjstrm.cxx index 8a28c9f..072edf7 100644 --- a/lotuswordpro/source/filter/lwpobjstrm.cxx +++ b/lotuswordpro/source/filter/lwpobjstrm.cxx @@ -155,6 +155,12 @@ void LwpObjectStream::ReleaseBuffer() } } } + +sal_uInt16 LwpObjectStream::remainingSize() const +{ + return m_nBufSize - m_nReadPos; +} + /** * @descr read len bytes from object stream to buffer */ diff --git a/lotuswordpro/source/filter/lwpobjstrm.hxx b/lotuswordpro/source/filter/lwpobjstrm.hxx index 918659d..83062ee 100644 --- a/lotuswordpro/source/filter/lwpobjstrm.hxx +++ b/lotuswordpro/source/filter/lwpobjstrm.hxx @@ -85,6 +85,7 @@ private: LwpSvStream* m_pStrm; bool m_bCompressed; public: + sal_uInt16 remainingSize() const; sal_uInt16 QuickRead(void* buf, sal_uInt16 len); sal_uInt16 GetPos() { return m_nReadPos; } void SeekRel(sal_uInt16 pos); commit c299011abeb50a9fccb420d6b1e8e82924efc329 Author: Caolán McNamara <caol...@redhat.com> Date: Fri Mar 10 09:07:17 2017 +0000 shuffle this around a little Change-Id: Ibf23114885c49163d50b3249db8788770fe74352 diff --git a/sfx2/source/control/request.cxx b/sfx2/source/control/request.cxx index a7785cf..489d9f3 100644 --- a/sfx2/source/control/request.cxx +++ b/sfx2/source/control/request.cxx @@ -69,6 +69,7 @@ struct SfxRequest_Impl: public SfxListener SfxViewFrame* pViewFrame; css::uno::Reference< css::frame::XDispatchRecorder > xRecorder; + css::uno::Reference< uno::XComponentContext > xContext; explicit SfxRequest_Impl( SfxRequest *pOwner ) : pAnti( pOwner) @@ -83,8 +84,9 @@ struct SfxRequest_Impl: public SfxListener , nCallMode( SfxCallMode::SYNCHRON ) , bAllowRecording( false ) , pViewFrame(nullptr) - {} - + , xContext(comphelper::getProcessComponentContext()) + { + } void SetPool( SfxItemPool *pNewPool ); virtual void Notify( SfxBroadcaster &rBC, const SfxHint &rHint ) override; @@ -349,8 +351,6 @@ void SfxRequest_Impl::Record } } - uno::Reference< uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext(); - uno::Reference< util::XURLTransformer > xTransform = util::URLTransformer::create( xContext ); css::util::URL aURL;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits