Fangzhu support dev - #334
Conversation
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
- Also added missing max96712.h files Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
|
|
||
| state->dser_dev = &dser_i2c->dev; | ||
| /* Initialize deserializer interface */ | ||
| if (!strcmp(dser_node->name, "max9296")) { |
There was a problem hiding this comment.
Using dser_node->name after of_node_put() (use-after-free). Keep a copy of the name before calling of_node_put(), or avoid accessing dser_node after it's released.
Details
✨ AI Reasoning
The change introduces reading dser_node->name after of_node_put(dser_node) was called earlier. of_parse_phandle/of_find_i2c_device_by_node usage pattern indicates the driver releases the device node reference with of_node_put(), making further dereference of the pointer unsafe. Dereferencing a node pointer after it has been put can lead to use-after-free and segmentation faults at runtime. This defect was introduced by the added block that branches on dser_node->name to pick a deserializer interface.
🔧 How do I fix it?
Add null checks before dereferencing pointers, validate array bounds before access, avoid using pointers after free/delete, don't write to string literals, and prefer smart pointers in modern C++.
More info - Comment @AikidoSec feedback: [FEEDBACK] to get better review comments in the future.
No description provided.