From 6f2e969af34c9f5a238f41fe873e03527e2743ab Mon Sep 17 00:00:00 2001 From: autoantwort Date: Tue, 24 Jun 2025 20:54:49 +0200 Subject: [PATCH 1/2] Fixes #13962: fi can be nullptr --- lib/cppcheck.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/cppcheck.cpp b/lib/cppcheck.cpp index 9e584b9ab79..696df97f2ca 100644 --- a/lib/cppcheck.cpp +++ b/lib/cppcheck.cpp @@ -2090,8 +2090,10 @@ unsigned int CppCheck::analyseWholeProgram(const std::string &buildDir, const st for (const Check *check : Check::instances()) { if (checkClassAttr == check->name()) { Check::FileInfo* fi = check->loadFileInfoFromXml(e); - fi->file0 = filesTxtInfo.sourceFile; - fileInfoList.push_back(fi); + if (fi) { + fi->file0 = filesTxtInfo.sourceFile; + fileInfoList.push_back(fi); + } } } } From 401d8a45bce0ed76e48d9d88e96a7a7779ceea81 Mon Sep 17 00:00:00 2001 From: autoantwort Date: Fri, 27 Jun 2025 22:36:28 +0200 Subject: [PATCH 2/2] apply suggestion --- lib/cppcheck.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/cppcheck.cpp b/lib/cppcheck.cpp index 696df97f2ca..181551e05f6 100644 --- a/lib/cppcheck.cpp +++ b/lib/cppcheck.cpp @@ -2089,8 +2089,7 @@ unsigned int CppCheck::analyseWholeProgram(const std::string &buildDir, const st // cppcheck-suppress shadowFunction - TODO: fix this for (const Check *check : Check::instances()) { if (checkClassAttr == check->name()) { - Check::FileInfo* fi = check->loadFileInfoFromXml(e); - if (fi) { + if (Check::FileInfo* fi = check->loadFileInfoFromXml(e)) { fi->file0 = filesTxtInfo.sourceFile; fileInfoList.push_back(fi); }