diff --git a/libavcodec/parser.c b/libavcodec/parser.c index d5b85c3e4e..4b3d30e51a 100644 --- a/libavcodec/parser.c +++ b/libavcodec/parser.c @@ -58,10 +58,12 @@ AVCodecParserContext *av_parser_init(int codec_id) if (!s) return NULL; s->parser = parser; - s->priv_data = av_mallocz(parser->priv_data_size); - if (!s->priv_data) { - av_free(s); - return NULL; + if (parser->priv_data_size) { + s->priv_data = av_mallocz(parser->priv_data_size); + if (!s->priv_data) { + av_free(s); + return NULL; + } } if (parser->parser_init) { ret = parser->parser_init(s);