SEGV with vivid v4l2 device
Created by: mfend-wv
In spa/plugins/v4l2/v4l2-source.c impl_node_port_enum_params() may return 1 even with *result being a NULL pointer. But the iteration for make_control() with pw_port_for_each_param() expects that the content of result is a valid pointer if the return value is greater than zero. I'm not yet sure about the right place to fix this issue, but maybe spa_pod_filter should simply return an error if *result is a NULL pointer (this is my current workaround).
I could trigger this issue with Linux 5.0 and enabled vivid v4l2 driver. With that setup spa_pod_builder_raw_padded() fails due to an invalid pod size. Don't know yet why this happens at all...