On Wed, 31 Jul 2013 13:52:12 +0300, Martin Storsjö <[email protected]> wrote: > AVIOContext has got an av_class member that only gets set if > opening the context using avio_open2, but not if allocating a > custom IO context. A caller that wants to read AVOptions from > an AVIOContext (recursively using AV_OPT_SEARCH_CHILDREN) may > not know if the AVIOContext actually has got a class set or not. > --- > IMO it's better to fail cleanly here than to force all such callers > to manually check the av_class member. > --- > libavutil/opt.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/libavutil/opt.c b/libavutil/opt.c > index f2b9473..cba5b29 100644 > --- a/libavutil/opt.c > +++ b/libavutil/opt.c > @@ -650,6 +650,9 @@ const AVOption *av_opt_find2(void *obj, const char *name, > const char *unit, > const AVClass *c = *(AVClass**)obj; > const AVOption *o = NULL; > > + if (!c) > + return NULL; > + > if (search_flags & AV_OPT_SEARCH_CHILDREN) { > if (search_flags & AV_OPT_SEARCH_FAKE_OBJ) { > const AVClass *child = NULL; > -- > 1.7.9.4 >
Should be ok -- Anton Khirnov _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
