From 9022ebb93e3c11d5377418532467e0816695351b Mon Sep 17 00:00:00 2001 From: Raul Metsma Date: Fri, 7 Jun 2024 12:24:45 +0300 Subject: [PATCH] Fix CodeQL warnings WE2-958, WE2-959, WE2-957 Signed-off-by: Raul Metsma --- .github/workflows/cmake-linux-codeql.yml | 8 +++--- .../command-handlers/signauthutils.hpp | 2 +- src/controller/controller.cpp | 3 +- tests/tests/changecertificatevaliduntil.hpp | 28 ++++++++----------- 4 files changed, 19 insertions(+), 22 deletions(-) diff --git a/.github/workflows/cmake-linux-codeql.yml b/.github/workflows/cmake-linux-codeql.yml index 72b3ec8f..dcd5ae23 100644 --- a/.github/workflows/cmake-linux-codeql.yml +++ b/.github/workflows/cmake-linux-codeql.yml @@ -20,14 +20,14 @@ jobs: with: submodules: recursive - - uses: github/codeql-action/init@v2 + - uses: github/codeql-action/init@v3 with: languages: cpp queries: +security-and-quality - - uses: github/codeql-action/autobuild@v2 + - uses: github/codeql-action/autobuild@v3 - - uses: github/codeql-action/analyze@v2 + - uses: github/codeql-action/analyze@v3 with: upload: False output: sarif-results @@ -39,6 +39,6 @@ jobs: input: sarif-results/cpp.sarif output: sarif-results/cpp.sarif - - uses: github/codeql-action/upload-sarif@v2 + - uses: github/codeql-action/upload-sarif@v3 with: sarif_file: sarif-results/cpp.sarif diff --git a/src/controller/command-handlers/signauthutils.hpp b/src/controller/command-handlers/signauthutils.hpp index 344a20de..b26cccbd 100644 --- a/src/controller/command-handlers/signauthutils.hpp +++ b/src/controller/command-handlers/signauthutils.hpp @@ -32,7 +32,7 @@ namespace electronic_id { class ElectronicID; class SignatureAlgorithm; -} +} // namespace electronic_id void requireArgumentsAndOptionalLang(QStringList argNames, const QVariantMap& args, const std::string& argDescriptions); diff --git a/src/controller/controller.cpp b/src/controller/controller.cpp index 0e71453b..57ddb8bc 100644 --- a/src/controller/controller.cpp +++ b/src/controller/controller.cpp @@ -354,7 +354,8 @@ void Controller::onCriticalFailure(const QString& error) { qCritical() << "Exiting due to command" << std::string(commandType()) << "fatal error:" << error; - _result = makeErrorObject(RESP_TECH_ERROR, QStringLiteral("Technical error, see application logs")); + _result = + makeErrorObject(RESP_TECH_ERROR, QStringLiteral("Technical error, see application logs")); writeResponseToStdOut(isInStdinMode, _result, commandType()); disposeUI(); WebEidUI::showFatalError(); diff --git a/tests/tests/changecertificatevaliduntil.hpp b/tests/tests/changecertificatevaliduntil.hpp index b6619dea..3b8e76cc 100644 --- a/tests/tests/changecertificatevaliduntil.hpp +++ b/tests/tests/changecertificatevaliduntil.hpp @@ -24,14 +24,14 @@ #include "pcsc-mock/pcsc-mock.hpp" -#include #include +#include -PcscMock::byte_vector::iterator findUTCDateTime(PcscMock::byte_vector::iterator first, - PcscMock::byte_vector::iterator last) +inline PcscMock::byte_vector::iterator findUTCDateTime(PcscMock::byte_vector::iterator first, + PcscMock::byte_vector::iterator last) { - static const unsigned char UTC_DATETIME_TAG = 0x17; - static const unsigned char LENGTH_TAG = 0x0d; + constexpr unsigned char UTC_DATETIME_TAG = 0x17; + constexpr unsigned char LENGTH_TAG = 0x0d; for (; first != last; ++first) { if (*first == UTC_DATETIME_TAG && first + 1 != last && *(first + 1) == LENGTH_TAG) { @@ -41,9 +41,9 @@ PcscMock::byte_vector::iterator findUTCDateTime(PcscMock::byte_vector::iterator return last; } -PcscMock::ApduScript replaceCertValidUntilYear(const PcscMock::ApduScript& script, - const size_t certBytesStartOffset, - const std::string& twoDigitYear) +inline PcscMock::ApduScript replaceCertValidUntilYear(const PcscMock::ApduScript& script, + const size_t certBytesStartOffset, + std::string_view twoDigitYear) { if (twoDigitYear.size() != 2) { throw std::invalid_argument("replaceCertValidUntilYear: twoDigitYear size must be 2, " @@ -85,17 +85,13 @@ PcscMock::ApduScript replaceCertValidUntilYear(const PcscMock::ApduScript& scrip return scriptCopy; } -PcscMock::ApduScript replaceCertValidUntilTo2010(const PcscMock::ApduScript& script) +inline PcscMock::ApduScript replaceCertValidUntilTo2010(const PcscMock::ApduScript& script) { return replaceCertValidUntilYear(script, 4, "10"); } -PcscMock::ApduScript replaceCertValidUntilToNextYear(const PcscMock::ApduScript& script) +inline PcscMock::ApduScript replaceCertValidUntilToNextYear(const PcscMock::ApduScript& script) { - const auto t = std::time(nullptr); - const auto now = std::localtime(&t); - // UTCDateTime needs 2-digit year since 2000, tm_year is years since 1900, add +1 for next year - const auto yearInt = now->tm_year + 1900 - 2000 + 1; - const auto yearStr = std::to_string(yearInt); - return replaceCertValidUntilYear(script, 4, yearStr); + // UTCDateTime needs 2-digit year since 2000, add +1 for next year + return replaceCertValidUntilYear(script, 4, std::to_string(QDate::currentDate().year() - 2000 + 1)); }