Browse code

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>

Lukasz Marek authored on 2014/04/05 02:28:45
Showing 1 changed files
... ...
@@ -1599,8 +1599,10 @@ void av_opt_freep_ranges(AVOptionRanges **rangesp)
1599 1599
 
1600 1600
     for (i = 0; i < ranges->nb_ranges; i++) {
1601 1601
         AVOptionRange *range = ranges->range[i];
1602
-        av_freep(&range->str);
1603
-        av_freep(&ranges->range[i]);
1602
+        if (range) {
1603
+            av_freep(&range->str);
1604
+            av_freep(&ranges->range[i]);
1605
+        }
1604 1606
     }
1605 1607
     av_freep(&ranges->range);
1606 1608
     av_freep(rangesp);