summaryrefslogtreecommitdiffstats
path: root/libavformat/4xm.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/4xm.c')
-rw-r--r--libavformat/4xm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavformat/4xm.c b/libavformat/4xm.c
index cd4066d..f535c49 100644
--- a/libavformat/4xm.c
+++ b/libavformat/4xm.c
@@ -173,14 +173,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]);
OpenPOWER on IntegriCloud