[0.11] gst-plugins-bad: mpegtsmux: Trivial bug fix. Don' t copy data from an uninited buffer.

Wim Taymans wtay at kemper.freedesktop.org
Tue Feb 14 02:19:38 PST 2012


Module: gst-plugins-bad
Branch: 0.11
Commit: debf4984dfe17799d9da6d520e4f4fd304727084
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=debf4984dfe17799d9da6d520e4f4fd304727084

Author: Jan Schmidt <thaytan at noraisin.net>
Date:   Mon Feb 13 23:04:12 2012 +1100

mpegtsmux: Trivial bug fix. Don't copy data from an uninited buffer.

---

 gst/mpegtsmux/mpegtsmux.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/gst/mpegtsmux/mpegtsmux.c b/gst/mpegtsmux/mpegtsmux.c
index 9eede81..002d6d5 100644
--- a/gst/mpegtsmux/mpegtsmux.c
+++ b/gst/mpegtsmux/mpegtsmux.c
@@ -1087,11 +1087,11 @@ new_packet_m2ts (MpegTsMux * mux, guint8 * data, guint len, gint64 new_pcr)
     return FALSE;
   }
 
-  new_packet_common_init (mux, buf, data, len);
-
   /* copies the TS data of 188 bytes to the m2ts buffer at an offset
      of 4 bytes to leave space for writing the timestamp later */
   memcpy (GST_BUFFER_DATA (buf) + 4, data, len);
+  /* After copying the data into the buffer, do other common init (flags and streamheaders) */
+  new_packet_common_init (mux, buf, data, len);
 
   if (new_pcr < 0) {
     /* If theres no pcr in current ts packet then just add the packet
@@ -1198,9 +1198,10 @@ new_packet_normal_ts (MpegTsMux * mux, guint8 * data, guint len, gint64 new_pcr)
     return FALSE;
   }
 
+  memcpy (GST_BUFFER_DATA (buf), data, len);
+  /* After copying the data into the buffer, do other common init (flags and streamheaders) */
   new_packet_common_init (mux, buf, data, len);
 
-  memcpy (GST_BUFFER_DATA (buf), data, len);
   GST_BUFFER_TIMESTAMP (buf) = mux->last_ts;
 
   ret = gst_pad_push (mux->srcpad, buf);



More information about the gstreamer-commits mailing list