aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Aimar <fenrir@videolan.org>2011-10-02 00:38:26 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-10-02 05:45:01 +0200
commit2e342df4a266f903084a5f705c7f2932e79067de (patch)
treeb1d62eab520bce89acdf217ded02d63a37f2d7c2
parent86491c5dbc160a10926aa1cf4fa36864b09dfb31 (diff)
downloadffmpeg-2e342df4a266f903084a5f705c7f2932e79067de.tar.gz
Fix use of uninitialized memory in 4X Technologies demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit a1876e0072aa0c69f037e0cafaca1a54bf2e189b)
-rw-r--r--libavformat/4xm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavformat/4xm.c b/libavformat/4xm.c
index 0a314dc089..e3b696d57b 100644
--- a/libavformat/4xm.c
+++ b/libavformat/4xm.c
@@ -172,14 +172,16 @@ static int fourxm_read_header(AVFormatContext *s,
goto fail;
}
if (current_track + 1 > fourxm->track_count) {
- fourxm->track_count = current_track + 1;
fourxm->tracks = av_realloc_f(fourxm->tracks,
sizeof(AudioTrack),
- fourxm->track_count);
+ current_track + 1);
if (!fourxm->tracks) {
ret= AVERROR(ENOMEM);
goto fail;
}
+ memset(&fourxm->tracks[fourxm->track_count], 0,
+ sizeof(AudioTrack) * (current_track + 1 - fourxm->track_count));
+ fourxm->track_count = current_track + 1;
}
fourxm->tracks[current_track].adpcm = AV_RL32(&header[i + 12]);
fourxm->tracks[current_track].channels = AV_RL32(&header[i + 36]);