From 31d18e56140f413e24e75f2708765f434eba2b37 Mon Sep 17 00:00:00 2001 From: Thorsten de Buhr Date: Fri, 9 Oct 2026 13:23:12 +0200 Subject: [PATCH] refactor(packchk): clean up CodeQL style findings --- tools/packchk/include/PackChk.h | 2 +- tools/packchk/include/ParseOptions.h | 2 +- tools/packchk/src/PackChk.cpp | 2 +- tools/packchk/src/PackChkMain.cpp | 2 +- tools/packchk/src/ParseOptions.cpp | 2 +- tools/packchk/src/ValidateSyntax.cpp | 6 +++++- 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/tools/packchk/include/PackChk.h b/tools/packchk/include/PackChk.h index 6001400f1..0f3b99303 100644 --- a/tools/packchk/include/PackChk.h +++ b/tools/packchk/include/PackChk.h @@ -22,7 +22,7 @@ class PackChk { PackChk(); ~PackChk(); - int Check(int argc, const char* argv[], const char* envp[]); + int Check(int argc, const char** argv, const char** envp); const RteGlobalModel& GetModel() { return m_rteModel; } diff --git a/tools/packchk/include/ParseOptions.h b/tools/packchk/include/ParseOptions.h index 541ceac57..f50faf535 100644 --- a/tools/packchk/include/ParseOptions.h +++ b/tools/packchk/include/ParseOptions.h @@ -23,7 +23,7 @@ class ParseOptions { Error, }; - Result Parse(int argc, const char* argv[]); + Result Parse(int argc, const char** argv); protected: bool SetWarnLevel(const std::string& warnLevel); diff --git a/tools/packchk/src/PackChk.cpp b/tools/packchk/src/PackChk.cpp index de4f67ddb..c9d65b699 100644 --- a/tools/packchk/src/PackChk.cpp +++ b/tools/packchk/src/PackChk.cpp @@ -172,7 +172,7 @@ bool PackChk::CheckPackage() * @param envp command line argument (not used) * @return passed / failed */ -int PackChk::Check(int argc, const char* argv[], const char* envp[]) +int PackChk::Check(int argc, const char** argv, const char** envp) { const string header = m_packOptions.GetHeader(); cout << header << endl; diff --git a/tools/packchk/src/PackChkMain.cpp b/tools/packchk/src/PackChkMain.cpp index 010f93180..4f7ec0e5b 100644 --- a/tools/packchk/src/PackChkMain.cpp +++ b/tools/packchk/src/PackChkMain.cpp @@ -15,7 +15,7 @@ * @param envp command line argument (not used) * @return 0: ok, 1: error */ -int main(int argc, const char* argv [], const char* envp []) +int main(int argc, const char** argv, const char** envp) { PackChk packChk; diff --git a/tools/packchk/src/ParseOptions.cpp b/tools/packchk/src/ParseOptions.cpp index c55f40193..e9a380960 100644 --- a/tools/packchk/src/ParseOptions.cpp +++ b/tools/packchk/src/ParseOptions.cpp @@ -191,7 +191,7 @@ bool ParseOptions::SetDisableValidation(bool bDisable) * @param argv command line * @return passed / failed */ -ParseOptions::Result ParseOptions::Parse(int argc, const char* argv[]) +ParseOptions::Result ParseOptions::Parse(int argc, const char** argv) { const string fileName = m_packOptions.GetProgramName(); bool bOk = true; diff --git a/tools/packchk/src/ValidateSyntax.cpp b/tools/packchk/src/ValidateSyntax.cpp index adc8fdb03..02caa15d3 100644 --- a/tools/packchk/src/ValidateSyntax.cpp +++ b/tools/packchk/src/ValidateSyntax.cpp @@ -1697,6 +1697,7 @@ bool ValidateSyntax::CheckBoards(RtePackage* pKg) LogMsg("M375", VAL("BOARD", boardName)); } + // deviceIndex must be unique among mounted devices on this board. map mountedDeviceIndex; for(auto mountedDevice : mountedDevices) { lineNo = mountedDevice->GetLineNumber(); @@ -1726,11 +1727,13 @@ bool ValidateSyntax::CheckBoards(RtePackage* pKg) continue; } + // Mounted devices require a concrete Dname; wildcard patterns are not allowed. if(dname.find_first_of("*?[]") != string::npos) { LogMsg("M607", TAG("Dname"), NAME(dname), lineNo); continue; } + // Resolve the reference against the loaded device model, including reference packs. list devices; GetModel().GetDevices(devices, dname, dvendor); if(devices.empty()) { @@ -1742,6 +1745,7 @@ bool ValidateSyntax::CheckBoards(RtePackage* pKg) LogMsg("M100", lineNo); } + // Warn when a mounted device name still denotes a device with variants. for(const auto device : devices) { if(device->GetDeviceItemCount() > 0) { LogMsg("M611", VENDOR(dvendor), MCU(dname), lineNo); @@ -1761,7 +1765,7 @@ bool ValidateSyntax::CheckBoards(RtePackage* pKg) LogMsg("M010"); } - // ------------ compatible devices ------------------ + // Compatible devices describe alternatives and may use Dname wildcard patterns. Collection compatibleDevices; board->GetCompatibleDevices(compatibleDevices);