basic/source/runtime/dllmgr-x64.cxx              |   18 ++++++++++++------
 basic/source/runtime/dllmgr-x86.cxx              |   18 ++++++++++++------
 chart2/source/controller/dialogs/DialogModel.cxx |    1 +
 sfx2/source/inet/inettbc.cxx                     |    1 +
 svx/source/form/filtnav.cxx                      |    3 ++-
 sw/source/core/layout/fly.cxx                    |    1 +
 sw/source/core/undo/docundo.cxx                  |   14 ++++++--------
 sw/source/filter/ww8/docxattributeoutput.cxx     |    6 ++----
 8 files changed, 37 insertions(+), 25 deletions(-)

New commits:
commit 3feb65096a5dbb2b9713293a997754f0257223b5
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Sat Apr 6 23:31:55 2019 +0300
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Sun Apr 7 13:52:51 2019 +0200

    tdf#120703 PVS: Silence V522 warnings
    
    V522 There might be dereferencing of a potential null pointer.
    
    Change-Id: I680f1628133216de6336ac5ffa846447ffd55a41
    Reviewed-on: https://gerrit.libreoffice.org/70352
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/basic/source/runtime/dllmgr-x64.cxx 
b/basic/source/runtime/dllmgr-x64.cxx
index 4c5973fdc919..a56aeee2726a 100644
--- a/basic/source/runtime/dllmgr-x64.cxx
+++ b/basic/source/runtime/dllmgr-x64.cxx
@@ -159,8 +159,9 @@ std::size_t alignment(SbxVariable const * variable) {
         case SbxOBJECT:
             {
                 std::size_t n = 1;
-                SbxArray * props = dynamic_cast<SbxObject*>( 
variable->GetObject() )->
-                    GetProperties();
+                SbxObject* pobj = 
dynamic_cast<SbxObject*>(variable->GetObject());
+                assert(pobj);
+                SbxArray* props = pobj->GetProperties();
                 for (sal_uInt16 i = 0; i < props->Count(); ++i) {
                     n = std::max(n, alignment(props->Get(i)));
                 }
@@ -175,6 +176,7 @@ std::size_t alignment(SbxVariable const * variable) {
         }
     } else {
         SbxDimArray * arr = dynamic_cast<SbxDimArray*>( variable->GetObject() 
);
+        assert(arr);
         int dims = arr->GetDims();
         std::vector< sal_Int32 > low(dims);
         for (int i = 0; i < dims; ++i) {
@@ -210,8 +212,9 @@ ErrCode marshalStruct(
     MarshalData & data)
 {
     OSL_ASSERT(variable != nullptr);
-    SbxArray * props = dynamic_cast<SbxObject*>( variable->GetObject() )->
-        GetProperties();
+    SbxObject* pobj = dynamic_cast<SbxObject*>(variable->GetObject());
+    assert(pobj);
+    SbxArray* props = pobj->GetProperties();
     for (sal_uInt16 i = 0; i < props->Count(); ++i) {
         ErrCode e = marshal(false, props->Get(i), false, blob, offset, data);
         if (e != ERRCODE_NONE) {
@@ -227,6 +230,7 @@ ErrCode marshalArray(
 {
     OSL_ASSERT(variable != nullptr);
     SbxDimArray * arr = dynamic_cast<SbxDimArray*>( variable->GetObject() );
+    assert(arr);
     int dims = arr->GetDims();
     std::vector< sal_Int32 > low(dims);
     std::vector< sal_Int32 > up(dims);
@@ -402,8 +406,9 @@ void const * unmarshal(SbxVariable * variable, void const * 
data) {
                     align(
                         reinterpret_cast< sal_uIntPtr >(data),
                         alignment(variable)));
-                SbxArray * props = dynamic_cast<SbxObject*>( 
variable->GetObject() )->
-                    GetProperties();
+                SbxObject* pobj = 
dynamic_cast<SbxObject*>(variable->GetObject());
+                assert(pobj);
+                SbxArray* props = pobj->GetProperties();
                 for (sal_uInt16 i = 0; i < props->Count(); ++i) {
                     data = unmarshal(props->Get(i), data);
                 }
@@ -421,6 +426,7 @@ void const * unmarshal(SbxVariable * variable, void const * 
data) {
         }
     } else {
         SbxDimArray * arr = dynamic_cast<SbxDimArray*>( variable->GetObject() 
);
+        assert(arr);
         int dims = arr->GetDims();
         std::vector< sal_Int32 > low(dims);
         std::vector< sal_Int32 > up(dims);
diff --git a/basic/source/runtime/dllmgr-x86.cxx 
b/basic/source/runtime/dllmgr-x86.cxx
index 347f9ad4067d..74b470da2e04 100644
--- a/basic/source/runtime/dllmgr-x86.cxx
+++ b/basic/source/runtime/dllmgr-x86.cxx
@@ -166,8 +166,9 @@ std::size_t alignment(SbxVariable * variable) {
         case SbxOBJECT:
             {
                 std::size_t n = 1;
-                SbxArray * props = dynamic_cast<SbxObject*>( 
variable->GetObject() )->
-                    GetProperties();
+                SbxObject* pobj = 
dynamic_cast<SbxObject*>(variable->GetObject());
+                assert(pobj);
+                SbxArray* props = pobj->GetProperties();
                 for (sal_uInt16 i = 0; i < props->Count(); ++i) {
                     n = std::max(n, alignment(props->Get(i)));
                 }
@@ -182,6 +183,7 @@ std::size_t alignment(SbxVariable * variable) {
         }
     } else {
         SbxDimArray * arr = dynamic_cast<SbxDimArray*>( variable->GetObject() 
);
+        assert(arr);
         int dims = arr->GetDims();
         std::vector< sal_Int32 > low(dims);
         for (int i = 0; i < dims; ++i) {
@@ -218,8 +220,9 @@ ErrCode marshalStruct(
     MarshalData & data)
 {
     OSL_ASSERT(variable != 0);
-    SbxArray * props = dynamic_cast<SbxObject*>( variable->GetObject() )->
-        GetProperties();
+    SbxObject* pobj = dynamic_cast<SbxObject*>(variable->GetObject());
+    assert(pobj);
+    SbxArray* props = pobj->GetProperties();
     for (sal_uInt16 i = 0; i < props->Count(); ++i) {
         ErrCode e = marshal(false, props->Get(i), false, blob, offset, data);
         if (e != ERRCODE_NONE) {
@@ -235,6 +238,7 @@ ErrCode marshalArray(
 {
     OSL_ASSERT(variable != 0);
     SbxDimArray * arr = dynamic_cast<SbxDimArray*>( variable->GetObject() );
+    assert(arr);
     int dims = arr->GetDims();
     std::vector< sal_Int32 > low(dims);
     std::vector< sal_Int32 > up(dims);
@@ -410,8 +414,9 @@ void const * unmarshal(SbxVariable * variable, void const * 
data) {
                     align(
                         reinterpret_cast< sal_uIntPtr >(data),
                         alignment(variable)));
-                SbxArray * props = dynamic_cast<SbxObject*>( 
variable->GetObject() )->
-                    GetProperties();
+                SbxObject* pobj = 
dynamic_cast<SbxObject*>(variable->GetObject());
+                assert(pobj);
+                SbxArray* props = pobj->GetProperties();
                 for (sal_uInt16 i = 0; i < props->Count(); ++i) {
                     data = unmarshal(props->Get(i), data);
                 }
@@ -429,6 +434,7 @@ void const * unmarshal(SbxVariable * variable, void const * 
data) {
         }
     } else {
         SbxDimArray * arr = dynamic_cast<SbxDimArray*>( variable->GetObject() 
);
+        assert(arr);
         int dims = arr->GetDims();
         std::vector< sal_Int32 > low(dims);
         std::vector< sal_Int32 > up(dims);
diff --git a/chart2/source/controller/dialogs/DialogModel.cxx 
b/chart2/source/controller/dialogs/DialogModel.cxx
index a648aff121ca..11a616a34f8e 100644
--- a/chart2/source/controller/dialogs/DialogModel.cxx
+++ b/chart2/source/controller/dialogs/DialogModel.cxx
@@ -854,6 +854,7 @@ ChartModel& DialogModel::getModel() const
 {
     uno::Reference< frame::XModel > xModel = getChartModel();
     ChartModel* pModel = dynamic_cast<ChartModel*>(xModel.get());
+    assert(pModel);
     return *pModel;
 }
 
diff --git a/sfx2/source/inet/inettbc.cxx b/sfx2/source/inet/inettbc.cxx
index a8f42dbc3154..64bc24956e17 100644
--- a/sfx2/source/inet/inettbc.cxx
+++ b/sfx2/source/inet/inettbc.cxx
@@ -229,6 +229,7 @@ void SfxURLToolBoxControl_Impl::StateChanged
         }
 
         const SfxStringItem *pURL = dynamic_cast< const SfxStringItem* 
>(pState);
+        assert(pURL);
         INetURLObject aURL( pURL->GetValue() );
         INetProtocol eProt = aURL.GetProtocol();
         if ( eProt == INetProtocol::File )
diff --git a/svx/source/form/filtnav.cxx b/svx/source/form/filtnav.cxx
index a05e6a56b9f9..5bcd6a4b8df3 100644
--- a/svx/source/form/filtnav.cxx
+++ b/svx/source/form/filtnav.cxx
@@ -294,7 +294,7 @@ void FmFilterAdapter::setText(sal_Int32 nRowPos,
                               const OUString& rText)
 {
     FmFormItem* pFormItem = dynamic_cast<FmFormItem*>( 
pFilterItem->GetParent()->GetParent()  );
-
+    assert(pFormItem);
     try
     {
         Reference< XFilterController > xController( 
pFormItem->GetController(), UNO_QUERY_THROW );
@@ -788,6 +788,7 @@ void FmFilterModel::Remove( const 
::std::vector<std::unique_ptr<FmFilterData>>::
 bool FmFilterModel::ValidateText(FmFilterItem const * pItem, OUString& rText, 
OUString& rErrorMsg) const
 {
     FmFormItem* pFormItem = dynamic_cast<FmFormItem*>( 
pItem->GetParent()->GetParent()  );
+    assert(pFormItem);
     try
     {
         Reference< XFormController > xFormController( 
pFormItem->GetController() );
diff --git a/sw/source/core/layout/fly.cxx b/sw/source/core/layout/fly.cxx
index 9e061ebf754d..ee82f15ff86b 100644
--- a/sw/source/core/layout/fly.cxx
+++ b/sw/source/core/layout/fly.cxx
@@ -1484,6 +1484,7 @@ void CalcContent( SwLayoutFrame *pLay, bool bNoColl )
                 {
                     // #i28701#
                     SwAnchoredObject* pAnchoredObj = 
(*pFrame->GetDrawObjs())[i];
+                    assert(pAnchoredObj);
 
                     // determine if anchored object has to be
                     // formatted and, in case, format it
diff --git a/sw/source/core/undo/docundo.cxx b/sw/source/core/undo/docundo.cxx
index 73105e2f5a02..06cf409f0731 100644
--- a/sw/source/core/undo/docundo.cxx
+++ b/sw/source/core/undo/docundo.cxx
@@ -673,15 +673,13 @@ bool UndoManager::Repeat(::sw::RepeatContext & rContext,
 
     OUString const comment(pRepeatAction->GetComment());
     OUString const rcomment(pRepeatAction->GetRepeatComment(rContext));
-    auto const*const pListAction(dynamic_cast<SfxListUndoAction 
*>(pRepeatAction));
-    auto const*const pSwAction(dynamic_cast<SwUndo *>(pRepeatAction));
-    if (!pListAction && !pSwAction)
-    {
+    SwUndoId nId;
+    if (auto const* const pSwAction = dynamic_cast<SwUndo*>(pRepeatAction))
+        nId = pSwAction->GetId();
+    else if (auto const* const pListAction = 
dynamic_cast<SfxListUndoAction*>(pRepeatAction))
+        nId = static_cast<SwUndoId>(pListAction->GetId());
+    else
         return false;
-    }
-    SwUndoId const nId(pSwAction
-            ? pSwAction->GetId()
-            : static_cast<SwUndoId>(pListAction->GetId()));
     if (DoesUndo())
     {
         ViewShellId nViewShellId(-1);
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index e4ce85632f08..f1c56fa5b686 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -4174,8 +4174,7 @@ void DocxAttributeOutput::TableRowRedline( 
ww8::WW8TableNodeInfoInner::Pointer_t
     {
         SwExtraRedline* pExtraRedline = 
aExtraRedlineTable.GetRedline(nCurRedlinePos);
         const SwTableRowRedline* pTableRowRedline = dynamic_cast<const 
SwTableRowRedline*>(pExtraRedline);
-        const SwTableLine *pRedTabLine = pTableRowRedline ? 
&pTableRowRedline->GetTableLine() : nullptr;
-        if (pRedTabLine == pTabLine)
+        if (pTableRowRedline && &pTableRowRedline->GetTableLine() == pTabLine)
         {
             // Redline for this table row
             const SwRedlineData& aRedlineData = 
pTableRowRedline->GetRedlineData();
@@ -4220,8 +4219,7 @@ void DocxAttributeOutput::TableCellRedline( 
ww8::WW8TableNodeInfoInner::Pointer_
     {
         SwExtraRedline* pExtraRedline = 
aExtraRedlineTable.GetRedline(nCurRedlinePos);
         const SwTableCellRedline* pTableCellRedline = dynamic_cast<const 
SwTableCellRedline*>(pExtraRedline);
-        const SwTableBox *pRedTabBox = pTableCellRedline ? 
&pTableCellRedline->GetTableBox() : nullptr;
-        if (pRedTabBox == pTabBox)
+        if (pTableCellRedline && &pTableCellRedline->GetTableBox() == pTabBox)
         {
             // Redline for this table cell
             const SwRedlineData& aRedlineData = 
pTableCellRedline->GetRedlineData();
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to