mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-17 16:17:36 +08:00
param_get: add null-pointer check
If param_find() returned PARAM_INVALID, and this was directly passed to param_get(), param_get_value_ptr() returned null and we read garbage data (or segfaulted on systems with virtual memory). On px4fmu-v2, this happened for the param ATT_VIBE_THRESH in sensors. Because of the recently added parameter scoping, this param got pruned, as it's defined in attitude_estimator_q. credits for finding this go to Jeyong Shin (jeyong).
This commit is contained in:
@@ -531,7 +531,7 @@ param_get(param_t param, void *val)
|
||||
|
||||
const void *v = param_get_value_ptr(param);
|
||||
|
||||
if (val != NULL) {
|
||||
if (val && v) {
|
||||
memcpy(val, v, param_size(param));
|
||||
result = 0;
|
||||
}
|
||||
|
||||
@@ -548,7 +548,7 @@ param_get(param_t param, void *val)
|
||||
|
||||
const void *v = param_get_value_ptr(param);
|
||||
|
||||
if (val != NULL) {
|
||||
if (val && v) {
|
||||
memcpy(val, v, param_size(param));
|
||||
result = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user