[libbluray-devel] Fixed crash in meta_free()
    Ferdinand Holzer 
    git at videolan.org
       
    Fri Aug 17 12:53:24 CEST 2012
    
    
  
libbluray | branch: master | Ferdinand Holzer <holzer at grg21.ac.at> | Fri Aug 17 13:05:08 2012 +0300| [5e8030fda6b06d891bf897e36bab5f7811148936] | committer: hpi1
Fixed crash in meta_free()
> http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=5e8030fda6b06d891bf897e36bab5f7811148936
---
 src/libbluray/bdnav/meta_parse.c |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/libbluray/bdnav/meta_parse.c b/src/libbluray/bdnav/meta_parse.c
index 313057d..21e3171 100644
--- a/src/libbluray/bdnav/meta_parse.c
+++ b/src/libbluray/bdnav/meta_parse.c
@@ -217,18 +217,19 @@ void meta_free(META_ROOT **p)
         uint8_t i;
         for (i = 0; i < (*p)->dl_count; i++) {
             uint32_t t;
-            for (t=0; i < (*p)->dl_entries[i].toc_count; t++) {
+            for (t = 0; t < (*p)->dl_entries[i].toc_count; t++) {
                 X_FREE((*p)->dl_entries[i].toc_entries[t].title_name);
-                X_FREE((*p)->dl_entries[i].toc_entries);
             }
-            for (t = 0; i < (*p)->dl_entries[i].thumb_count; t++) {
+            for (t = 0; t < (*p)->dl_entries[i].thumb_count; t++) {
                 X_FREE((*p)->dl_entries[i].thumbnails[t].path);
-                X_FREE((*p)->dl_entries[i].thumbnails);
             }
+            X_FREE((*p)->dl_entries[i].toc_entries);
+            X_FREE((*p)->dl_entries[i].thumbnails);
             X_FREE((*p)->dl_entries[i].filename);
             X_FREE((*p)->dl_entries[i].di_name);
             X_FREE((*p)->dl_entries[i].di_alternative);
         }
+        X_FREE((*p)->dl_entries);
         X_FREE(*p);
     }
 }
    
    
More information about the libbluray-devel
mailing list