[vlc-commits] demux: adaptative: fix use after free (cid #1346996)

Francois Cartegnie git at videolan.org
Thu Dec 31 15:29:43 CET 2015


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Thu Dec 31 14:24:57 2015 +0100| [99d31901ae430d74bcc5449c5cdc88081c69714c] | committer: Francois Cartegnie

demux: adaptative: fix use after free (cid #1346996)

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=99d31901ae430d74bcc5449c5cdc88081c69714c
---

 modules/demux/dash/mpd/IsoffMainParser.cpp |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/modules/demux/dash/mpd/IsoffMainParser.cpp b/modules/demux/dash/mpd/IsoffMainParser.cpp
index 37402c7..8497f01 100644
--- a/modules/demux/dash/mpd/IsoffMainParser.cpp
+++ b/modules/demux/dash/mpd/IsoffMainParser.cpp
@@ -178,15 +178,13 @@ size_t IsoffMainParser::parseSegmentTemplate(Node *templateNode, SegmentInformat
         if(!initurl.empty() && (initTemplate = new (std::nothrow) InitSegmentTemplate(info)))
             initTemplate->setSourceUrl(initurl);
     }
-
     mediaTemplate->initialisationSegment.Set(initTemplate);
-    info->setSegmentTemplate(mediaTemplate);
 
     parseTimeline(DOMHelper::getFirstChildElementByName(templateNode, "SegmentTimeline"), mediaTemplate);
 
-    total += ( mediaTemplate != NULL );
+    info->setSegmentTemplate(mediaTemplate);
 
-    return total;
+    return ++total;
 }
 
 size_t IsoffMainParser::parseSegmentInformation(Node *node, SegmentInformation *info, uint64_t *nextid)



More information about the vlc-commits mailing list