From: Sebastian Dröge Date: Thu, 25 Jul 2019 12:08:54 +0000 (+0300) Subject: jpegdec: Don't dereference NULL input state if we have no caps in TIME segments X-Git-Tag: 1.19.3~509^2~929 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4911ac38acfbaf4c8424891c8738447f75ef0c7e;p=platform%2Fupstream%2Fgstreamer.git jpegdec: Don't dereference NULL input state if we have no caps in TIME segments Simply assume that the JPEG frame is not going to be interlaced instead of crashing. --- diff --git a/ext/jpeg/gstjpegdec.c b/ext/jpeg/gstjpegdec.c index c382599..60feb87 100644 --- a/ext/jpeg/gstjpegdec.c +++ b/ext/jpeg/gstjpegdec.c @@ -1250,6 +1250,7 @@ gst_jpeg_dec_handle_frame (GstVideoDecoder * bdec, GstVideoCodecFrame * frame) /* is it interlaced MJPEG? (we really don't want to scan the jpeg data * to see if there are two SOF markers in the packet to detect this) */ if (gst_video_decoder_get_packetized (bdec) && + dec->input_state && dec->input_state->info.height > height && dec->input_state->info.height <= (height * 2) && dec->input_state->info.width == width) { @@ -1304,6 +1305,9 @@ gst_jpeg_dec_handle_frame (GstVideoDecoder * bdec, GstVideoCodecFrame * frame) if (num_fields == 2) { GstVideoFormat field2_format; + /* Checked above before setting num_fields to 2 */ + g_assert (dec->input_state != NULL); + /* skip any chunk or padding bytes before the next SOI marker; both fields * are in one single buffer here, so direct access should be fine here */ while (dec->jsrc.pub.bytes_in_buffer > 2 &&