matroskadec: skip invalid tags with no TagName
authorAnton Khirnov <wyskas@gmail.com>
Wed, 3 Nov 2010 06:29:04 +0000 (06:29 +0000)
committerAnton Khirnov <wyskas@gmail.com>
Wed, 3 Nov 2010 06:29:04 +0000 (06:29 +0000)
fixes segfault in issue 2328

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

libavformat/matroskadec.c

index 136839a..820140f 100644 (file)
@@ -1033,6 +1033,11 @@ static void matroska_convert_tag(AVFormatContext *s, EbmlList *list,
 
     for (i=0; i < list->nb_elem; i++) {
         const char *lang = strcmp(tags[i].lang, "und") ? tags[i].lang : NULL;
+
+        if (!tags[i].name) {
+            av_log(s, AV_LOG_WARNING, "Skipping invalid tag with no TagName.\n");
+            continue;
+        }
         if (prefix)  snprintf(key, sizeof(key), "%s/%s", prefix, tags[i].name);
         else         av_strlcpy(key, tags[i].name, sizeof(key));
         if (tags[i].def || !lang) {