sd/source/core/stlpool.cxx | 5 ++++- svx/source/unodraw/unopool.cxx | 5 ++++- sw/source/core/unocore/SwXTextDefaults.cxx | 7 +++++-- 3 files changed, 13 insertions(+), 4 deletions(-)
New commits: commit bcb1f81668d9b6a6d807ae32d60ccfce0b36ceb5 Author: Michael Stahl <mst...@redhat.com> Date: Wed Jul 15 18:38:38 2015 +0200 svx, sd, sw: GetPoolDefaultItem() can actually return nullptr ...if you call ResetPoolDefaultItem() first. Crash found by Varun Dhall. Change-Id: I409484c172fb5843270aee2425844076a008b4df diff --git a/sd/source/core/stlpool.cxx b/sd/source/core/stlpool.cxx index f4eee39..a45bbaa 100644 --- a/sd/source/core/stlpool.cxx +++ b/sd/source/core/stlpool.cxx @@ -1127,7 +1127,10 @@ void SdStyleSheetPool::PutNumBulletItem( SfxStyleSheetBase* pSheet, case HID_PSEUDOSHEET_SUBTITLE : { // Subtitle template - SvxNumRule* pDefaultRule = static_cast<const SvxNumBulletItem*>( rSet.GetPool()->GetSecondaryPool()->GetPoolDefaultItem(EE_PARA_NUMBULLET))->GetNumRule(); + SvxNumBulletItem const*const pItem( + static_cast<const SvxNumBulletItem*>( + rSet.GetPool()->GetSecondaryPool()->GetPoolDefaultItem(EE_PARA_NUMBULLET))); + SvxNumRule *const pDefaultRule = (pItem) ? pItem->GetNumRule() : nullptr; DBG_ASSERT( pDefaultRule, "Where is my default template? [CL]" ); if(pDefaultRule) diff --git a/svx/source/unodraw/unopool.cxx b/svx/source/unodraw/unopool.cxx index bc4f253..dccdbad 100644 --- a/svx/source/unodraw/unopool.cxx +++ b/svx/source/unodraw/unopool.cxx @@ -321,7 +321,10 @@ uno::Any SvxUnoDrawPool::_getPropertyDefault( const comphelper::PropertyMapEntry SfxItemPool* pPool = getModelPool( true ); const sal_uInt16 nWhich = pPool->GetWhich( (sal_uInt16)pEntry->mnHandle ); const SfxPoolItem *pItem = pPool->GetPoolDefaultItem ( nWhich ); - pItem->QueryValue( aAny, pEntry->mnMemberId ); + if (pItem) + { + pItem->QueryValue( aAny, pEntry->mnMemberId ); + } return aAny; } diff --git a/sw/source/core/unocore/SwXTextDefaults.cxx b/sw/source/core/unocore/SwXTextDefaults.cxx index 9955b44..5c6e256 100644 --- a/sw/source/core/unocore/SwXTextDefaults.cxx +++ b/sw/source/core/unocore/SwXTextDefaults.cxx @@ -219,8 +219,11 @@ Any SAL_CALL SwXTextDefaults::getPropertyDefault( const OUString& rPropertyName throw UnknownPropertyException( "Unknown property: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) ); Any aRet; SfxItemPool& rSet (m_pDoc->GetAttrPool()); - const SfxPoolItem *pItem = rSet.GetPoolDefaultItem ( pMap->nWID ); - pItem->QueryValue( aRet, pMap->nMemberId ); + SfxPoolItem const*const pItem = rSet.GetPoolDefaultItem(pMap->nWID); + if (pItem) + { + pItem->QueryValue( aRet, pMap->nMemberId ); + } return aRet; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits