From bb1d216113bc9080167469f08c0a8329073991d9 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sun, 2 Mar 2025 03:47:50 +0200 Subject: libcamera: base: log: Fix uninitialized variable warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gcc 13.3.0, cross-compiling from amd64 to arm64, warns about a possibly uninitialized variable in Logger::parseLogLevel(): src/libcamera/base/log.cpp: In static member function ‘static libcamera::LogSeverity libcamera::Logger::parseLogLevel(std::string_view)’: ../../src/libcamera/base/log.cpp:694:55: error: ‘severity’ may be used uninitialized [-Werror=maybe-uninitialized] 694 | if (ec != std::errc() || *end != '\0' || severity > LogFatal) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ src/libcamera/base/log.cpp:690:22: note: ‘severity’ was declared here 690 | unsigned int severity; | ^~~~~~~~ This appears to be a false positive, as the std::from_chars() function should set severity value when it returns without an error. Still, the warning is easy to solve, so fix it by initializing the severity variable. Fixes: 8fa119e0b50f ("libcamera: base: log: Use `std::from_chars()`") Signed-off-by: Laurent Pinchart Acked-by: Kieran Bingham --- src/libcamera/base/log.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libcamera/base/log.cpp b/src/libcamera/base/log.cpp index 6a040b59..8bf3e1da 100644 --- a/src/libcamera/base/log.cpp +++ b/src/libcamera/base/log.cpp @@ -687,14 +687,13 @@ LogSeverity Logger::parseLogLevel(std::string_view level) "FATAL", }; - unsigned int severity; + unsigned int severity = LogInvalid; if (std::isdigit(level[0])) { auto [end, ec] = std::from_chars(level.data(), level.data() + level.size(), severity); if (ec != std::errc() || *end != '\0' || severity > LogFatal) severity = LogInvalid; } else { - severity = LogInvalid; for (unsigned int i = 0; i < std::size(names); ++i) { if (names[i] == level) { severity = i; -- cgit v1.2.1