summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorNicolas Dufresne <nicolas.dufresne@collabora.com>2020-10-15 11:35:04 -0400
committerTim-Philipp Müller <tim@centricular.com>2020-10-16 10:52:22 +0100
commitf0ee607b102b0fbc0eb7ed942f528452f831f95c (patch)
treefab6a8c84f35b341824242ed74a749b6819f7979 /sys
parent12112921307d698e267329a26a7368dbb6b8d5c2 (diff)
downloadgstreamer-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.c2
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);