]> granicus.if.org Git - handbrake/commitdiff
libhb: fix crash in muxmp4.c
authorjstebbins <jstebbins.hb@gmail.com>
Sun, 30 Jun 2013 21:15:15 +0000 (21:15 +0000)
committerjstebbins <jstebbins.hb@gmail.com>
Sun, 30 Jun 2013 21:15:15 +0000 (21:15 +0000)
I must not have gone back and retested this :-\

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5622 b64f7644-9d1e-0410-96f1-a4d463321fa5

libhb/muxmp4.c

index e544c26bef59121f9e1f28b92babc4d57f8941b6..5c90325af4518ef467f53f8a4aefaeca9eaee424 100644 (file)
@@ -668,14 +668,17 @@ static int MP4Mux( hb_mux_object_t * m, hb_mux_data_t * mux_data,
     int64_t offset = 0;
     hb_buffer_t *tmp;
 
-    if (buf->s.duration >= 0)
+    if (buf != NULL)
     {
-        stop = buf->s.start + buf->s.duration;
-    }
-    else if (mux_data->subtitle)
-    {
-        buf->s.duration = 10 * 90000;
-        stop = buf->s.start + buf->s.duration;
+        if (buf->s.duration >= 0)
+        {
+            stop = buf->s.start + buf->s.duration;
+        }
+        else if (mux_data->subtitle)
+        {
+            buf->s.duration = 10 * 90000;
+            stop = buf->s.start + buf->s.duration;
+        }
     }
 
     if( mux_data == job->mux_data )
@@ -701,6 +704,8 @@ static int MP4Mux( hb_mux_object_t * m, hb_mux_data_t * mux_data,
         if ( !buf )
             return 0;
 
+        stop = buf->s.start + buf->s.duration;
+
         if( job->vcodec == HB_VCODEC_X264 ||
             ( job->vcodec & HB_VCODEC_FFMPEG_MASK ) )
         {