[libcamera-devel] [PATCH] libcamera: Avoid accessing a non existent control
Jean-Michel Hautbois
jeanmichel.hautbois at ideasonboard.com
Tue Nov 17 14:24:32 CET 2020
When pushing a controlone should check if it exists before accessing it,
in order to avoid raising abort and crash.
Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois at ideasonboard.com>
---
src/libcamera/delayed_controls.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/libcamera/delayed_controls.cpp b/src/libcamera/delayed_controls.cpp
index f1c5f890..422deee5 100644
--- a/src/libcamera/delayed_controls.cpp
+++ b/src/libcamera/delayed_controls.cpp
@@ -147,7 +147,11 @@ bool DelayedControls::queue(const ControlList &controls)
/* Update with new controls. */
for (const auto &control : controls) {
- const ControlId *id = device_->controls().idmap().at(control.first);
+ const ControlIdMap &idmap = device_->controls().idmap();
+ if (idmap.find(control.first) == idmap.end())
+ return false;
+
+ const ControlId *id = idmap.at(control.first);
if (delays_.find(id) == delays_.end())
return false;
--
2.27.0
More information about the libcamera-devel
mailing list