summaryrefslogtreecommitdiff
path: root/sd/source/ui/view/sdview4.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-07-20 15:44:01 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-07-20 20:36:36 +0200
commit9fa09e7a14c990e36e9eba7350fd2015e6b7082c (patch)
treef928642d69e085978e79366e2d39d8d0efde5cd9 /sd/source/ui/view/sdview4.cxx
parent1b54c782e6a29ad1dde990cd80f33da068fb52d8 (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.cxx19
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 );
+ }
}
}