summaryrefslogtreecommitdiff
path: root/src/demuxers
diff options
context:
space:
mode:
authorDarren Salt <linux@youmustbejoking.demon.co.uk>2009-02-10 18:25:09 +0000
committerDarren Salt <linux@youmustbejoking.demon.co.uk>2009-02-10 18:25:09 +0000
commit1c19b8e8e3cfb32e341332b751686e86d7389569 (patch)
tree64d9edcf312915b3d9ae524d55b6508b61bf361f /src/demuxers
parentc62b455944c8c91bd4d9ae5e8000ec33190174c5 (diff)
parent6002a9a87b3f591832c2b91ca1b2b1b67be008f5 (diff)
downloadxine-lib-1c19b8e8e3cfb32e341332b751686e86d7389569.tar.gz
xine-lib-1c19b8e8e3cfb32e341332b751686e86d7389569.tar.bz2
Merge from 1.1.
--HG-- rename : doc/faq/faq.sgml => doc/faq/faq.docbook rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h
Diffstat (limited to 'src/demuxers')
-rw-r--r--src/demuxers/demux_4xm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/demuxers/demux_4xm.c b/src/demuxers/demux_4xm.c
index 62146cffc..0870179fe 100644
--- a/src/demuxers/demux_4xm.c
+++ b/src/demuxers/demux_4xm.c
@@ -192,6 +192,10 @@ static int open_fourxm_file(demux_fourxm_t *fourxm) {
const uint32_t current_track = _X_LE_32(&header[i + 8]);
if (current_track + 1 > fourxm->track_count) {
fourxm->track_count = current_track + 1;
+ if (fourxm->track_count >= UINT_MAX / sizeof(audio_track_t)) {
+ free(header);
+ return 0;
+ }
fourxm->tracks = realloc(fourxm->tracks,
fourxm->track_count * sizeof(audio_track_t));
if (!fourxm->tracks) {