diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-07-20 15:44:01 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-07-20 20:36:36 +0200 |
commit | 9fa09e7a14c990e36e9eba7350fd2015e6b7082c (patch) | |
tree | f928642d69e085978e79366e2d39d8d0efde5cd9 /sd/source/ui/view/sdview4.cxx | |
parent | 1b54c782e6a29ad1dde990cd80f33da068fb52d8 (diff) |
cid#1448403 Use after free
Change-Id: Ie63c336da7296ecad6aef56d57b064e450361b5d
Reviewed-on: https://gerrit.libreoffice.org/76020
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sd/source/ui/view/sdview4.cxx')
-rw-r--r-- | sd/source/ui/view/sdview4.cxx | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/sd/source/ui/view/sdview4.cxx b/sd/source/ui/view/sdview4.cxx index 93d88afb7028..030468fd8271 100644 --- a/sd/source/ui/view/sdview4.cxx +++ b/sd/source/ui/view/sdview4.cxx @@ -360,20 +360,27 @@ SdrMediaObj* View::InsertMediaObj( const OUString& rMediaURL, const OUString& rM if( pPickObj ) ReplaceObjectAtView(pPickObj, *pPV, pNewMediaObj); else - InsertObjectAtView( pNewMediaObj, *pPV, SdrInsertFlags::SETDEFLAYER ); + { + if (!InsertObjectAtView(pNewMediaObj, *pPV, SdrInsertFlags::SETDEFLAYER)) + pNewMediaObj = nullptr; + } OUString referer; DrawDocShell * sh = GetDocSh(); if (sh != nullptr && sh->HasName()) { referer = sh->GetMedium()->GetName(); } - pNewMediaObj->setURL( rMediaURL, referer, rMimeType ); - if( pPickObj ) + if (pNewMediaObj) { - pNewMediaObj->AdjustToMaxRect( aRect ); - if( bIsPres ) - pNewMediaObj->SetUserCall( pUserCall ); + pNewMediaObj->setURL( rMediaURL, referer, rMimeType ); + + if( pPickObj ) + { + pNewMediaObj->AdjustToMaxRect( aRect ); + if( bIsPres ) + pNewMediaObj->SetUserCall( pUserCall ); + } } } |