]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/asfdec_o.c
Merge commit 'd09b4cce21cdad5ef2855698395ffd6e37445212'
[ffmpeg] / libavformat / asfdec_o.c
index 17f958fed53b0c733ad1604cd75fb7ed5151e6ec..016af0c1edb634f030afa1b7e3febe53e883dee9 100644 (file)
@@ -572,7 +572,8 @@ static int asf_read_metadata_obj(AVFormatContext *s, const GUIDParseTable *g)
                 if ((ret = process_metadata(s, name, name_len, val_len, type,
                                             &asf->asf_sd[st_num].asf_met)) < 0)
                     break;
-            }
+            } else
+                av_freep(&name);
         }
     }
 
@@ -1590,6 +1591,8 @@ static int detect_unknown_subobject(AVFormatContext *s, int64_t offset, int64_t
     int ret;
 
     while (avio_tell(pb) <= offset + size) {
+        if (avio_tell(pb) == asf->offset)
+            break;
         asf->offset = avio_tell(pb);
         if ((ret = ff_get_guid(pb, &guid)) < 0)
             return ret;