diff --git a/src/libcamera/base/log.cpp b/src/libcamera/base/log.cpp
index 8bf3e1daa9c6..6a8e2a3eb844 100644
--- a/src/libcamera/base/log.cpp
+++ b/src/libcamera/base/log.cpp
@@ -690,8 +690,9 @@ LogSeverity Logger::parseLogLevel(std::string_view level)
 	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)
+		const char *levelEnd = level.data() + level.size();
+		auto [end, ec] = std::from_chars(level.data(), levelEnd, severity);
+		if (ec != std::errc() || end != levelEnd || severity > LogFatal)
 			severity = LogInvalid;
 	} else {
 		for (unsigned int i = 0; i < std::size(names); ++i) {
diff --git a/test/log/meson.build b/test/log/meson.build
index d91f62b9ea5b..f413c3898b2d 100644
--- a/test/log/meson.build
+++ b/test/log/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: CC0-1.0
 
 log_test = [
-    {'name': 'log_api', 'sources': ['log_api.cpp'], 'should_fail':true},
+    {'name': 'log_api', 'sources': ['log_api.cpp']},
     {'name': 'log_process', 'sources': ['log_process.cpp']},
 ]
 
