From 36c4ae01143ffe8836bffd46237e884be95c88cd Mon Sep 17 00:00:00 2001 From: Kevin JOLY Date: Mon, 4 Nov 2019 15:39:59 +0100 Subject: [PATCH] avdemux: Fix segmentation fault if long_name is NULL Some plugins (like libcdio) registers empty long_name field. Calling strncmp on this field leads to a segmentation fault. Signed-off-by: Kevin Joly --- ext/libav/gstavdemux.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ext/libav/gstavdemux.c b/ext/libav/gstavdemux.c index 3b74f92..fa5fd4e 100644 --- a/ext/libav/gstavdemux.c +++ b/ext/libav/gstavdemux.c @@ -1994,9 +1994,14 @@ gst_ffmpegdemux_register (GstPlugin * plugin) in_plugin->name, in_plugin->long_name); /* no emulators */ - if (!strncmp (in_plugin->long_name, "raw ", 4) || - !strncmp (in_plugin->long_name, "pcm ", 4) || - !strcmp (in_plugin->name, "audio_device") || + if (in_plugin->long_name != NULL) { + if (!strncmp (in_plugin->long_name, "raw ", 4) || + !strncmp (in_plugin->long_name, "pcm ", 4) + ) + continue; + } + + if (!strcmp (in_plugin->name, "audio_device") || !strncmp (in_plugin->name, "image", 5) || !strcmp (in_plugin->name, "mpegvideo") || !strcmp (in_plugin->name, "mjpeg") || -- 2.7.4