summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2012-10-09 14:54:01 +0200
committerJanne Grunau <janne-libav@jannau.net>2012-10-09 15:39:05 +0200
commit4ffbe3f3a5d9892841d9bc31d859916c2c61123f (patch)
tree72fd7ee71fd5923be05e1f4ae7b1998dcd324c70
parent53e122dd4afbb5bbdbba8b18bee0beb460242dc7 (diff)
downloadffmpeg-4ffbe3f3a5d9892841d9bc31d859916c2c61123f.tar.gz
matroskaenc: check cue point validity before reallocation
Prevents memory leak and possible access to freed memory. Fixes CID605744.
-rw-r--r--libavformat/matroskaenc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 3e32943153..b37d10cba1 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -368,13 +368,13 @@ static int mkv_add_cuepoint(mkv_cues *cues, int stream, int64_t ts, int64_t clus
{
mkv_cuepoint *entries = cues->entries;
+ if (ts < 0)
+ return 0;
+
entries = av_realloc(entries, (cues->num_entries + 1) * sizeof(mkv_cuepoint));
if (entries == NULL)
return AVERROR(ENOMEM);
- if (ts < 0)
- return 0;
-
entries[cues->num_entries ].pts = ts;
entries[cues->num_entries ].tracknum = stream + 1;
entries[cues->num_entries++].cluster_pos = cluster_pos - cues->segment_offset;