mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-14 02:05:39 +00:00
v4l2videodec: ensure pool exists before orphaning it
In commit e2ff87732d
("v4l2videodec: support orphaning") support for
orphaning the capture buffer pool was added when the format is
renegotiated. However, the commit forgot to check that a pool existed
before doing this. This is needed because it's possible for the format
to be renegotiated before a capture pool is allocated, which would
result in trying to orphan a NULL pool and lead to a NULL pointer
dereference.
Fix this by checking a pool exists first. If the pool doesn't exist,
there are no buffers to be reclaimed, so skip the allocation query in
that case.
This commit is contained in:
parent
ae80fa4731
commit
51b83d5ca1
1 changed files with 2 additions and 1 deletions
|
@ -254,7 +254,8 @@ gst_v4l2_video_dec_set_format (GstVideoDecoder * decoder,
|
|||
* the complexity and should not have much impact in performance since the
|
||||
* following allocation query will happen on a drained pipeline and won't
|
||||
* block. */
|
||||
if (!gst_v4l2_buffer_pool_orphan (&self->v4l2capture->pool)) {
|
||||
if (self->v4l2capture->pool &&
|
||||
!gst_v4l2_buffer_pool_orphan (&self->v4l2capture->pool)) {
|
||||
GstCaps *caps = gst_pad_get_current_caps (decoder->srcpad);
|
||||
if (caps) {
|
||||
GstQuery *query = gst_query_new_allocation (caps, FALSE);
|
||||
|
|
Loading…
Reference in a new issue