[vlc-commits] demux: mp4: fix heap buffer overflow (fix #12266)
Francois Cartegnie
git at videolan.org
Mon Sep 22 21:21:02 CEST 2014
vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Mon Sep 22 21:17:40 2014 +0200| [26258915a956bd1150d4d369d476770af21c71b7] | committer: Francois Cartegnie
demux: mp4: fix heap buffer overflow (fix #12266)
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=26258915a956bd1150d4d369d476770af21c71b7
---
modules/demux/mp4/mp4.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c
index 8682513..9de642d 100644
--- a/modules/demux/mp4/mp4.c
+++ b/modules/demux/mp4/mp4.c
@@ -1762,12 +1762,15 @@ static int TrackCreateChunksIndex( demux_t *p_demux,
i_last = BOXDATA(p_stsc)->i_first_chunk[i_index] - 1;
}
- p_demux_track->chunk[0].i_sample_first = 0;
- for( i_chunk = 1; i_chunk < p_demux_track->i_chunk_count; i_chunk++ )
+ if ( p_demux_track->i_chunk_count )
{
- p_demux_track->chunk[i_chunk].i_sample_first =
- p_demux_track->chunk[i_chunk-1].i_sample_first +
- p_demux_track->chunk[i_chunk-1].i_sample_count;
+ p_demux_track->chunk[0].i_sample_first = 0;
+ for( i_chunk = 1; i_chunk < p_demux_track->i_chunk_count; i_chunk++ )
+ {
+ p_demux_track->chunk[i_chunk].i_sample_first =
+ p_demux_track->chunk[i_chunk-1].i_sample_first +
+ p_demux_track->chunk[i_chunk-1].i_sample_count;
+ }
}
msg_Dbg( p_demux, "track[Id 0x%x] read %d chunk",
More information about the vlc-commits
mailing list