Files
ffmpeg/libavcodec
Andriy Gelman a9fecb8ea1 avcodec/v4l2_m2m_dec: remove redundant packet and fix double free
v4l2_receive_frame() uses two packets s->buf_pkt and avpkt. If avpkt
cannot be enqueued, the packet is buffered in s->buf_pkt and enqueued in
the next call. Currently the ownership transfer between the two packets
is not properly handled. A double free occurs if
ff_v4l2_context_enqueue_packet() returns EAGAIN and v4l2_try_start
returns EINVAL.

In fact, having two AVPackets is not needed and everything can be
handled by s->buf_pkt.

This commit removes the local avpkt from v4l2_receive_frame(), meaning
that the ownership transfer doesn't need to be handled and the double
free is fixed.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2020-07-16 11:25:23 -04:00
..
2020-07-03 23:28:26 +02:00
2020-06-10 12:36:44 +02:00
2020-07-04 16:27:24 +01:00
2020-07-03 23:28:26 +02:00
2020-03-12 20:26:48 +00:00
2020-03-12 20:26:48 +00:00
2020-05-21 09:31:08 +02:00
2020-07-08 23:09:29 +08:00
2020-02-22 00:15:43 +01:00
2020-03-22 11:55:44 -03:00
2020-06-05 18:14:17 +02:00
2020-06-14 18:20:37 +02:00
2020-06-15 04:22:28 +02:00
2020-04-26 18:38:25 +01:00
2020-05-19 20:09:25 +02:00
2020-05-12 01:00:28 +02:00
2020-05-26 10:52:12 +01:00
2020-05-26 10:52:12 +01:00
2020-05-26 10:52:12 +01:00
2020-07-03 23:28:26 +02:00
2020-06-14 18:20:37 +02:00
2020-06-08 20:45:56 +02:00
2020-05-30 18:02:55 +02:00
2020-07-05 19:59:49 +02:00
2020-04-26 18:38:25 +01:00
2020-04-04 23:26:15 +02:00
2020-05-22 22:23:18 +02:00
2020-07-06 18:23:50 +01:00
2020-04-26 18:38:25 +01:00
2020-04-17 19:33:43 +10:00
2020-04-26 18:38:25 +01:00
2020-04-16 15:05:07 -03:00
2020-03-22 11:55:44 -03:00
2020-05-23 07:07:36 +02:00