Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Marek <lukasz.m.luki@gmail.com>2014-04-04 21:28:45 +0400
committerMichael Niedermayer <michaelni@gmx.at>2014-06-25 18:18:40 +0400
commitc61c66cfb17e3552689020f0ef228b149ab42627 (patch)
treebbf0903604f2c067c6f3d7bcfe728abb4c232e64 /libavutil
parent5ac53d07a276ae019d9975ab57fc033ca565b142 (diff)
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>
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/opt.c6
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);