From 88b104f44acff8087dfe3833bb91c63604ced98b Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 10 Jun 2015 21:32:54 +0100 Subject: coverity#1302618 deref of NULL on examination this PreparePaint virtual is only called from SvTreeListBox::PaintEntry1 and PaintEntry1 is only called from SvImpLBox::Paint in a for(sal_uInt16 n=0; n< nCount && pEntry; n++) { /*long nMaxRight=*/ pView->PaintEntry1 loop so pEntry always exists given that test. Re-jig things so these families of method take a reference instead of a pointer so verifying it cannot be NULL and a whole pile of else paths fall away Change-Id: Ied40acb1c2263c21b4447832f8cb86f64ed9e80d --- basctl/source/basicide/moduldl2.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'basctl') diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx index 822c0657f777..82189204bbaa 100644 --- a/basctl/source/basicide/moduldl2.cxx +++ b/basctl/source/basicide/moduldl2.cxx @@ -114,19 +114,19 @@ public: SvLBoxString( pEntry, nFlags, rTxt ) {} virtual void Paint(const Point& rPos, SvTreeListBox& rDev, vcl::RenderContext& rRenderContext, - const SvViewDataEntry* pView, const SvTreeListEntry* pEntry) SAL_OVERRIDE; + const SvViewDataEntry* pView, const SvTreeListEntry& rEntry) SAL_OVERRIDE; }; void LibLBoxString::Paint(const Point& rPos, SvTreeListBox& /*rDev*/, vcl::RenderContext& rRenderContext, - const SvViewDataEntry* /*pView*/, const SvTreeListEntry* pEntry) + const SvViewDataEntry* /*pView*/, const SvTreeListEntry& rEntry) { // Change text color if library is read only: bool bReadOnly = false; - if (pEntry && pEntry->GetUserData()) + if (rEntry.GetUserData()) { - ScriptDocument aDocument(static_cast(pEntry->GetUserData())->GetDocument()); + ScriptDocument aDocument(static_cast(rEntry.GetUserData())->GetDocument()); - OUString aLibName = static_cast(pEntry->GetItem(1))->GetText(); + OUString aLibName = static_cast(rEntry.GetItem(1))->GetText(); Reference xModLibContainer(aDocument.getLibraryContainer(E_SCRIPTS), UNO_QUERY); Reference xDlgLibContainer(aDocument.getLibraryContainer(E_DIALOGS), UNO_QUERY); bReadOnly = (xModLibContainer.is() && xModLibContainer->hasByName(aLibName) && xModLibContainer->isLibraryReadOnly(aLibName)) -- cgit