Fix a bug in av_find_opt(). Because some of the AVOption structures have field
authorKamil Nowosad <k.nowosad@students.mimuw.edu.pl>
Fri, 30 Mar 2007 09:26:13 +0000 (09:26 +0000)
committerPanagiotis Issaris <takis.issaris@uhasselt.be>
Fri, 30 Mar 2007 09:26:13 +0000 (09:26 +0000)
unit = NULL, the function could pass NULL to strcmp and cause a segfault.

Patch by Kamil Nowosad, k nowosad % students mimuw edu pl.

Original thread:
Subject: [PATCH] small bugfix in av_find_opt()
Date: 03/23/2007 12:20 PM

Originally committed as revision 8553 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/opt.c

index cfff0c1..97b593c 100644 (file)
@@ -36,7 +36,7 @@ const AVOption *av_find_opt(void *v, const char *name, const char *unit, int mas
     const AVOption *o= c->option;
 
     for(;o && o->name; o++){
-        if(!strcmp(o->name, name) && (!unit || !strcmp(o->unit, unit)) && (o->flags & mask) == flags )
+        if(!strcmp(o->name, name) && (!unit || (o->unit && !strcmp(o->unit, unit))) && (o->flags & mask) == flags )
             return o;
     }
     return NULL;