libbluray | branch: master | hpi1 <[email protected]> | Fri Jul  7 00:29:03 
2017 +0300| [34cecf100638d4ea3437371eeed26579953ebd6c] | committer: hpi1

Fix leak

> http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=34cecf100638d4ea3437371eeed26579953ebd6c
---

 src/libbluray/bdnav/mpls_parse.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/libbluray/bdnav/mpls_parse.c b/src/libbluray/bdnav/mpls_parse.c
index 436f897c..1fd181dc 100644
--- a/src/libbluray/bdnav/mpls_parse.c
+++ b/src/libbluray/bdnav/mpls_parse.c
@@ -705,14 +705,14 @@ _parse_playlistmark(BITSTREAM *bits, MPLS_PL *pl)
     // Then get the number of marks
     pl->mark_count = bs_read(bits, 16);
 
-    plm = calloc(pl->mark_count, sizeof(MPLS_PLM));
-    if (pl->mark_count && !plm) {
-        BD_DEBUG(DBG_CRIT, "out of memory\n");
+    if (bs_avail(bits)/(8*14) < pl->mark_count) {
+        BD_DEBUG(DBG_NAV | DBG_CRIT, "_parse_playlistmark: unexpected EOF\n");
         return 0;
     }
 
-    if (bs_avail(bits)/(8*14) < pl->mark_count) {
-        BD_DEBUG(DBG_NAV | DBG_CRIT, "_parse_playlistmark: unexpected EOF\n");
+    plm = calloc(pl->mark_count, sizeof(MPLS_PLM));
+    if (pl->mark_count && !plm) {
+        BD_DEBUG(DBG_CRIT, "out of memory\n");
         return 0;
     }
 

_______________________________________________
libbluray-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/libbluray-devel

Reply via email to