diff --git a/libavutil/opt.c b/libavutil/opt.c
index 2421ee8bf1ddfc9b757e3bab374ab651971cc138..ca31be3a9aefa8a0cf2f445ca5e589634b67f864 100644
--- a/libavutil/opt.c
+++ b/libavutil/opt.c
@@ -753,9 +753,14 @@ const AVOption *av_opt_find(void *obj, const char *name, const char *unit,
 const AVOption *av_opt_find2(void *obj, const char *name, const char *unit,
                              int opt_flags, int search_flags, void **target_obj)
 {
-    const AVClass  *c = *(AVClass**)obj;
+    const AVClass  *c;
     const AVOption *o = NULL;
 
+    if(!obj)
+        return NULL;
+
+    c= *(AVClass**)obj;
+
     if (search_flags & AV_OPT_SEARCH_CHILDREN) {
         if (search_flags & AV_OPT_SEARCH_FAKE_OBJ) {
             const AVClass *child = NULL;