OSDN Git Service

Fix Code scanning alerts 691, 692, 695, 696: Inconsistent nullness check
authorTakashi Sawanaka <sdottaka@users.sourceforge.net>
Fri, 16 Jul 2021 11:32:44 +0000 (20:32 +0900)
committerTakashi Sawanaka <sdottaka@users.sourceforge.net>
Fri, 16 Jul 2021 11:32:44 +0000 (20:32 +0900)
Src/MainFrm.cpp
Src/MergeEditView.cpp
Src/PluginsListDlg.cpp

index 40d7575..7ef320b 100644 (file)
@@ -2102,7 +2102,7 @@ void CMainFrame::OnSaveProject()
        COpenDoc *pOpenDoc = static_cast<COpenDoc *>(theApp.m_pOpenTemplate->CreateNewDocument());
 
        CFrameWnd * pFrame = GetActiveFrame();
-       FRAMETYPE frame = GetFrameType(pFrame);
+       FRAMETYPE frame = pFrame ? GetFrameType(pFrame) : FRAME_OTHER;
 
        if (frame == FRAME_FILE || frame == FRAME_HEXFILE || frame == FRAME_IMGFILE)
        {
@@ -2123,17 +2123,19 @@ void CMainFrame::OnSaveProject()
        else if (frame == FRAME_FOLDER)
        {
                // Get paths currently in compare
-               const CDirDoc * pDoc = static_cast<const CDirDoc*>(pFrame->GetActiveDocument());
-               const CDiffContext& ctxt = pDoc->GetDiffContext();
-
-               // Set-up the dialog
-               for (int pane = 0; pane < ctxt.GetCompareDirs(); ++pane)
+               if (const CDirDoc* pDoc = static_cast<const CDirDoc*>(pFrame->GetActiveDocument()))
                {
-                       pOpenDoc->m_dwFlags[pane] = FFILEOPEN_PROJECT | (pDoc->GetReadOnly(pane) ? FFILEOPEN_READONLY : 0);
-                       pOpenDoc->m_files.SetPath(pane, paths::AddTrailingSlash(ctxt.GetNormalizedPath(pane)));
+                       const CDiffContext& ctxt = pDoc->GetDiffContext();
+
+                       // Set-up the dialog
+                       for (int pane = 0; pane < ctxt.GetCompareDirs(); ++pane)
+                       {
+                               pOpenDoc->m_dwFlags[pane] = FFILEOPEN_PROJECT | (pDoc->GetReadOnly(pane) ? FFILEOPEN_READONLY : 0);
+                               pOpenDoc->m_files.SetPath(pane, paths::AddTrailingSlash(ctxt.GetNormalizedPath(pane)));
+                       }
+                       pOpenDoc->m_bRecurse = ctxt.m_bRecursive;
+                       pOpenDoc->m_strExt = static_cast<FileFilterHelper*>(ctxt.m_piFilterGlobal)->GetFilterNameOrMask();
                }
-               pOpenDoc->m_bRecurse = ctxt.m_bRecursive;
-               pOpenDoc->m_strExt = static_cast<FileFilterHelper *>(ctxt.m_piFilterGlobal)->GetFilterNameOrMask();
        }
 
        CFrameWnd *pOpenFrame = theApp.m_pOpenTemplate->CreateNewFrame(pOpenDoc, nullptr);
index a855fe9..deb7696 100644 (file)
@@ -3123,10 +3123,9 @@ void CMergeEditView::OnWMGoto()
        if (dlg.DoModal() == IDOK)
        {
                CMergeDoc * pDoc1 = GetDocument();
-               CMergeEditView * pCurrentView = nullptr;
 
                // Get views
-               pCurrentView = GetGroupView(m_nThisPane);
+               CMergeEditView * pCurrentView = GetGroupView(m_nThisPane);
 
                int num = 0;
                try { num = std::stoi(dlg.m_strParam) - 1; } catch(...) {}
@@ -3150,7 +3149,8 @@ void CMergeEditView::OnWMGoto()
                        if (diff >= pDoc1->m_diffList.GetSize())
                                diff = pDoc1->m_diffList.GetSize();
 
-                       pCurrentView->SelectDiff(diff, true, false);
+                       if (pCurrentView)
+                               pCurrentView->SelectDiff(diff, true, false);
                }
        }
 }
index 9c23687..953abc6 100644 (file)
@@ -149,7 +149,8 @@ void PluginsListDlg::OnBnClickedOk()
        for (int i = 0; i < m_list.GetItemCount(); ++i)
        {
                PluginInfo * plugin = CAllThreadsScripts::GetActiveSet()->GetPluginByName(nullptr, String(m_list.GetItemText(i, 0)));
-               plugin->m_disabled = !m_list.GetCheck(i);
+               if (plugin)
+                       plugin->m_disabled = !m_list.GetCheck(i);
        }
 
        CAllThreadsScripts::GetActiveSet()->SaveSettings();