gst/rtsp/sdpmessage.c: Clear stack allocated SDPMedia struct before calling _init...
authorWim Taymans <wim.taymans@gmail.com>
Wed, 14 Feb 2007 17:04:47 +0000 (17:04 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Wed, 14 Feb 2007 17:04:47 +0000 (17:04 +0000)
Original commit message from CVS:
* gst/rtsp/sdpmessage.c: (sdp_parse_line):
As spotted by: Peter Kjellerstedt  <pkj at axis com>:
Clear stack allocated SDPMedia struct before calling _init() on it.
Clarify this in the docs as well.

ChangeLog
gst/rtsp/sdpmessage.c

index 6c696a0..f99bdc9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-02-14  Wim Taymans  <wim@fluendo.com>
+
+       * gst/rtsp/sdpmessage.c: (sdp_parse_line):
+       As spotted by: Peter Kjellerstedt  <pkj at axis com>:
+       Clear stack allocated SDPMedia struct before calling _init() on it.
+       Clarify this in the docs as well.
+
 2007-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
 
        * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_reset),
index 1adc6d7..256a8ce 100644 (file)
@@ -186,6 +186,9 @@ sdp_message_new (SDPMessage ** msg)
  * with sdp_message_new(). This function is mostly used to initialize a message
  * allocated on the stack. sdp_message_uninit() undoes this operation.
  *
+ * When this function is invoked on newly allocated data (with malloc or on the
+ * stack), its contents should be set to 0 before calling this function.
+ *
  * Returns: a #RTSPResult.
  */
 RTSPResult
@@ -290,6 +293,9 @@ sdp_media_new (SDPMedia ** media)
  * with sdp_media_new(). This function is mostly used to initialize a media
  * allocated on the stack. sdp_media_uninit() undoes this operation.
  *
+ * When this function is invoked on newly allocated data (with malloc or on the
+ * stack), its contents should be set to 0 before calling this function.
+ *
  * Returns: a #RTSPResult.
  */
 RTSPResult
@@ -747,6 +753,7 @@ sdp_parse_line (SDPContext * c, gchar type, gchar * buffer)
       SDPMedia nmedia;
 
       c->state = SDP_MEDIA;
+      memset (&nmedia, 0, sizeof (nmedia));
       sdp_media_init (&nmedia);
 
       READ_STRING (nmedia.media);