diff --git a/libavformat/concatdec.c b/libavformat/concatdec.c
index e57e5ce0ec00258f9b2a96c2b378d81ce84962f2..e8b37d6a085f67b57a3df6c9488f5e80a59d33d6 100644
--- a/libavformat/concatdec.c
+++ b/libavformat/concatdec.c
@@ -120,7 +120,7 @@ static int add_file(AVFormatContext *avf, char *filename, ConcatFile **rfile,
 
     proto = avio_find_protocol_name(filename);
     proto_len = proto ? strlen(proto) : 0;
-    if (!memcmp(filename, proto, proto_len) &&
+    if (proto && !memcmp(filename, proto, proto_len) &&
         (filename[proto_len] == ':' || filename[proto_len] == ',')) {
         url = filename;
         filename = NULL;