From 668643b9239c70b777aea322eab411ebc960d9a0 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 4 Sep 2013 08:55:17 +0200 Subject: [PATCH] matroskadec: check av_strdup() when setting defaults --- libavformat/matroskadec.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index dc32fd1cc1..e6c9adf547 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -851,7 +851,13 @@ static int ebml_parse_nest(MatroskaDemuxContext *matroska, EbmlSyntax *syntax, break; case EBML_STR: case EBML_UTF8: - *(char **)((char *)data+syntax[i].data_offset) = av_strdup(syntax[i].def.s); + // the default may be NULL + if (syntax[i].def.s) { + uint8_t **dst = (uint8_t**)((uint8_t*)data + syntax[i].data_offset); + *dst = av_strdup(syntax[i].def.s); + if (!*dst) + return AVERROR(ENOMEM); + } break; }