avutil/opt: Fix AV_OPT_TYPE_BINARY case in av_opt_is_set_to_default()
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 7 Dec 2014 18:53:18 +0000 (19:53 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 8 Dec 2014 14:39:17 +0000 (15:39 +0100)
Fixes CID1257010

Reviewed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavutil/opt.c

index 4cf2069..af413d4 100644 (file)
@@ -1788,9 +1788,9 @@ int av_opt_is_set_to_default(void *obj, const AVOption *o)
         } tmp = {0};
         int opt_size = *(int *)((void **)dst + 1);
         void *opt_ptr = *(void **)dst;
-        if (!opt_ptr && (!o->default_val.str || !strlen(o->default_val.str)))
+        if (!opt_size && (!o->default_val.str || !strlen(o->default_val.str)))
             return 1;
-        if (opt_ptr && o->default_val.str && !strlen(o->default_val.str))
+        if (!opt_size ||  !o->default_val.str || !strlen(o->default_val.str ))
             return 0;
         if (opt_size != strlen(o->default_val.str) / 2)
             return 0;