avconv: Avoid theoretical NULL dereferences
authorHimangi Saraogi <himangi774@gmail.com>
Wed, 1 Apr 2015 19:33:04 +0000 (01:03 +0530)
committerLuca Barbato <lu_zero@gentoo.org>
Sat, 4 Apr 2015 17:32:10 +0000 (19:32 +0200)
Bug-Id: CID 1292519

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
avconv.c

index fc02c05..1ad6e5e 100644 (file)
--- a/avconv.c
+++ b/avconv.c
@@ -2106,17 +2106,22 @@ static int transcode_init(void)
             const char *in_codec_name  = "?";
             const char *encoder_name   = "?";
             const char *out_codec_name = "?";
+            const AVCodecDescriptor *desc;
 
             if (in_codec) {
                 decoder_name  = in_codec->name;
-                in_codec_name = avcodec_descriptor_get(in_codec->id)->name;
+                desc = avcodec_descriptor_get(in_codec->id);
+                if (desc)
+                    in_codec_name = desc->name;
                 if (!strcmp(decoder_name, in_codec_name))
                     decoder_name = "native";
             }
 
             if (out_codec) {
                 encoder_name   = out_codec->name;
-                out_codec_name = avcodec_descriptor_get(out_codec->id)->name;
+                desc = avcodec_descriptor_get(out_codec->id);
+                if (desc)
+                    out_codec_name = desc->name;
                 if (!strcmp(encoder_name, out_codec_name))
                     encoder_name = "native";
             }