From bcc94328980e6c56546792ab08b0756abdce310b Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Mon, 25 Feb 2013 12:32:49 +0100 Subject: opt: check the return values of av_get_token for ENOMEM. --- libavutil/opt.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libavutil/opt.c') diff --git a/libavutil/opt.c b/libavutil/opt.c index 2cc6f6ce34..f2b947337e 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -562,9 +562,16 @@ static int parse_key_value_pair(void *ctx, const char **buf, char *val; int ret; + if (!key) + return AVERROR(ENOMEM); + if (*key && strspn(*buf, key_val_sep)) { (*buf)++; val = av_get_token(buf, pairs_sep); + if (!val) { + av_freep(&key); + return AVERROR(ENOMEM); + } } else { av_log(ctx, AV_LOG_ERROR, "Missing key or no key/value separator found after key '%s'\n", key); av_free(key); -- cgit v1.2.3