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:
Beat Küng
2017-02-25 07:05:04 +01:00
committed by Lorenz Meier
parent 3e88b2f2b1
commit cfa84954ea
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -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;
}
+1 -1
View File
@@ -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;
}