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.16.2~32 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Fgst-plugins-good.git;a=commitdiff_plain;h=360c40fbfdb3e880debf1c5f07246e54b3da5025 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 d88b258..6c55229 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 &&