diff options
author | Lukasz Marek <lukasz.m.luki@gmail.com> | 2014-04-04 19:28:45 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-06-25 16:18:40 +0200 |
commit | c61c66cfb17e3552689020f0ef228b149ab42627 (patch) | |
tree | bbf0903604f2c067c6f3d7bcfe728abb4c232e64 | |
parent | 5ac53d07a276ae019d9975ab57fc033ca565b142 (diff) | |
download | ffmpeg-c61c66cfb17e3552689020f0ef228b149ab42627.tar.gz |
lavu/opt: validate range before dereference
This change make error handling simplier.
av_opt_freep_ranges may be called when some ranges are NULL,
for example after memory allocation fail.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3aac5fcfa9d3748659d78ab2a66d0ccce22cfd4f)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavutil/opt.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libavutil/opt.c b/libavutil/opt.c index 24511defa2..15b681cc3f 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -1430,8 +1430,10 @@ void av_opt_freep_ranges(AVOptionRanges **rangesp) for (i = 0; i < ranges->nb_ranges; i++) { AVOptionRange *range = ranges->range[i]; - av_freep(&range->str); - av_freep(&ranges->range[i]); + if (range) { + av_freep(&range->str); + av_freep(&ranges->range[i]); + } } av_freep(&ranges->range); av_freep(rangesp); |