[libcamera-devel] [PATCH] ipa: rpi: Fix segfault when parsing invalid json file
Naushir Patuck
naush at raspberrypi.com
Thu Sep 14 11:27:56 CEST 2023
If the json file parsing failed due to a malformed file, the root
pointer would be null. This was not tested and caused a segfault when
trying to use the pointer to retrive the version key.
Fix this by bailing out early if the parser returns a null pointer.
Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
---
src/ipa/rpi/controller/controller.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/ipa/rpi/controller/controller.cpp b/src/ipa/rpi/controller/controller.cpp
index fa1721130783..14d245da2ce7 100644
--- a/src/ipa/rpi/controller/controller.cpp
+++ b/src/ipa/rpi/controller/controller.cpp
@@ -56,6 +56,9 @@ int Controller::read(char const *filename)
}
std::unique_ptr<YamlObject> root = YamlParser::parse(file);
+ if (!root)
+ return -EINVAL;
+
double version = (*root)["version"].get<double>(1.0);
target_ = (*root)["target"].get<std::string>("bcm2835");
--
2.34.1
More information about the libcamera-devel
mailing list