From 63f35eeb12944180d4c904e222977a0443d7d1ac Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Tue, 7 Jul 2015 16:46:33 -0300 Subject: [PATCH] qtdemux: fix index size check and debug message It is allocating samples_count + n_samples, not only n_samples --- gst/isomp4/qtdemux.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index 04cc4e4..52053f8 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -2670,13 +2670,14 @@ qtdemux_parse_trun (GstQTDemux * qtdemux, GstByteReader * trun, goto fail; data = (guint8 *) gst_byte_reader_peek_data_unchecked (trun); - if (stream->n_samples >= + if (stream->n_samples + samples_count >= QTDEMUX_MAX_SAMPLE_INDEX_SIZE / sizeof (QtDemuxSample)) goto index_too_big; GST_DEBUG_OBJECT (qtdemux, "allocating n_samples %u * %u (%.2f MB)", - stream->n_samples, (guint) sizeof (QtDemuxSample), - stream->n_samples * sizeof (QtDemuxSample) / (1024.0 * 1024.0)); + stream->n_samples + samples_count, (guint) sizeof (QtDemuxSample), + (stream->n_samples + samples_count) * + sizeof (QtDemuxSample) / (1024.0 * 1024.0)); /* create a new array of samples if it's the first sample parsed */ if (stream->n_samples == 0) -- 2.7.4