pipewire/spa/include/spa/pod
Michael Tretter 94ffe88b65 filter: return error if id cannot be dereferenced
If an ID cannot be de-referenced, e.g., because the builder buffer is
too small, spa_pod_filter() still reports success, but the result is
NULL. Any subsequent access to result will cause a segfault.

Return an error if no pod is found to properly propagate and handle the
error.

The segfault can be reproduced by using the v4l2 module with Vivid
devices [0], because the buffer for the v4l2 controls is too small.

[0] https://github.com/PipeWire/pipewire/issues/138
2019-12-19 15:43:04 +01:00
..
builder.h pod: Use private names for variable in macros 2019-12-13 13:13:22 +01:00
command.h pod: cleanup event and command init 2019-08-22 12:47:27 +02:00
compare.h pod: improve parser and builder 2019-01-22 17:38:23 +01:00
event.h pod: cleanup event and command init 2019-08-22 12:47:27 +02:00
filter.h filter: return error if id cannot be dereferenced 2019-12-19 15:43:04 +01:00
iter.h pod: remove SPA_POD_IS_OBJECT_TYPE 2019-10-29 10:08:46 +01:00
parser.h parser: only recurse into CHOICE when 1 value 2019-12-09 12:23:24 +01:00
pod.h pod: rename context to flags in spa_pod_prop 2019-11-21 09:32:08 +01:00
vararg.h pod: add POD_None 2019-11-03 10:13:30 +01:00