diff options
author | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2020-10-15 11:35:04 -0400 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2020-10-16 10:52:22 +0100 |
commit | f0ee607b102b0fbc0eb7ed942f528452f831f95c (patch) | |
tree | fab6a8c84f35b341824242ed74a749b6819f7979 /sys | |
parent | 12112921307d698e267329a26a7368dbb6b8d5c2 (diff) | |
download | gstreamer-plugins-bad-f0ee607b102b0fbc0eb7ed942f528452f831f95c.tar.gz |
v4l2codecs: decoder: Properly remove pending requests
Pass the pointer instead of NULL in order to find and remove properly any
pending request from the queue. This coding error was leading to use after
free in error and early exit cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1701>
Diffstat (limited to 'sys')
-rw-r--r-- | sys/v4l2codecs/gstv4l2decoder.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/v4l2codecs/gstv4l2decoder.c b/sys/v4l2codecs/gstv4l2decoder.c index fad7d7485..8c2e93874 100644 --- a/sys/v4l2codecs/gstv4l2decoder.c +++ b/sys/v4l2codecs/gstv4l2decoder.c @@ -854,7 +854,7 @@ gst_v4l2_request_free (GstV4l2Request * request) GST_DEBUG_OBJECT (decoder, "Freeing pending request %p.", request); - idx = gst_queue_array_find (decoder->pending_requests, NULL, NULL); + idx = gst_queue_array_find (decoder->pending_requests, NULL, request); if (idx >= 0) gst_queue_array_drop_element (decoder->pending_requests, idx); |