sdpmessage: Annotate SDP message parameters for `parse_uri()` and `parse_buffer(...
authorSebastian Dröge <sebastian@centricular.com>
Tue, 29 Nov 2022 12:02:55 +0000 (14:02 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 29 Nov 2022 12:02:55 +0000 (14:02 +0200)
They are not actually `out` parameters but must be allocated and
initialized to a valid SDP message by the caller. Just allocating them
without initialization will cause memory corruptions because the
functions will try to clear/append to the existing SDP message.

As such they should be just marked as `transfer none`.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1605

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3484>

subprojects/gst-plugins-base/gst-libs/gst/sdp/gstsdpmessage.c

index 17e1f64..1de3849 100644 (file)
@@ -620,7 +620,7 @@ hex_to_int (gchar c)
 /**
  * gst_sdp_message_parse_uri:
  * @uri: the start of the uri
- * @msg: (out caller-allocates): the result #GstSDPMessage
+ * @msg: (transfer none): the result #GstSDPMessage
  *
  * Parse the null-terminated @uri and store the result in @msg.
  *
@@ -3121,7 +3121,7 @@ gst_sdp_parse_line (SDPContext * c, gchar type, gchar * buffer)
  * gst_sdp_message_parse_buffer:
  * @data: (array length=size): the start of the buffer
  * @size: the size of the buffer
- * @msg: (out caller-allocates): the result #GstSDPMessage
+ * @msg: (transfer none): the result #GstSDPMessage
  *
  * Parse the contents of @size bytes pointed to by @data and store the result in
  * @msg.