mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 01:45:33 +00:00
libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps): Fix Timmeke Waymans bug.
Original commit message from CVS: 2005-10-13 Andy Wingo <wingo@pobox.com> * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps): Fix Timmeke Waymans bug. (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated string of the proper length to gst_caps_from_string. There's a potential for, before this fix, that this could cause someone connecting over the network to cause a segfault if the payload is not NUL-terminated.
This commit is contained in:
parent
d2cd55ab84
commit
8d0b8f242a
2 changed files with 16 additions and 5 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
2005-10-13 Andy Wingo <wingo@pobox.com>
|
||||||
|
|
||||||
|
* libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
|
||||||
|
Fix Timmeke Waymans bug.
|
||||||
|
(gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
|
||||||
|
string of the proper length to gst_caps_from_string. There's a
|
||||||
|
potential for, before this fix, that this could cause someone
|
||||||
|
connecting over the network to cause a segfault if the payload is
|
||||||
|
not NUL-terminated.
|
||||||
|
|
||||||
2005-10-13 Stefan Kost <ensonic@users.sf.net>
|
2005-10-13 Stefan Kost <ensonic@users.sf.net>
|
||||||
|
|
||||||
* docs/design/draft-push-pull.txt:
|
* docs/design/draft-push-pull.txt:
|
||||||
|
@ -34,7 +44,6 @@
|
||||||
Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
|
Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
|
||||||
GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
|
GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
|
||||||
|
|
||||||
>>>>>>> 1.1723
|
|
||||||
2005-10-13 Julien MOUTTE <julien@moutte.net>
|
2005-10-13 Julien MOUTTE <julien@moutte.net>
|
||||||
|
|
||||||
* gst/base/gstcollectpads.c: (gst_collectpads_event),
|
* gst/base/gstcollectpads.c: (gst_collectpads_event),
|
||||||
|
@ -111,6 +120,7 @@
|
||||||
(gst_file_sink_event), (gst_file_sink_render):
|
(gst_file_sink_event), (gst_file_sink_render):
|
||||||
Flush before seeking.
|
Flush before seeking.
|
||||||
|
|
||||||
|
>>>>>>> 1.1724
|
||||||
2005-10-12 Andy Wingo <wingo@pobox.com>
|
2005-10-12 Andy Wingo <wingo@pobox.com>
|
||||||
|
|
||||||
* gst/gst.c (gst_init_check): Ignore unknown options, as has
|
* gst/gst.c (gst_init_check): Ignore unknown options, as has
|
||||||
|
|
|
@ -254,7 +254,7 @@ gst_dp_packet_from_caps (const GstCaps * caps, GstDPHeaderFlag flags,
|
||||||
GST_WRITE_UINT16_BE (h + 4, GST_DP_PAYLOAD_CAPS);
|
GST_WRITE_UINT16_BE (h + 4, GST_DP_PAYLOAD_CAPS);
|
||||||
|
|
||||||
/* buffer properties */
|
/* buffer properties */
|
||||||
GST_WRITE_UINT32_BE (h + 8, strlen ((gchar *) string) + 1); /* include trailing 0 */
|
GST_WRITE_UINT32_BE (h + 6, strlen ((gchar *) string) + 1); /* include trailing 0 */
|
||||||
GST_WRITE_UINT64_BE (h + 10, (guint64) 0);
|
GST_WRITE_UINT64_BE (h + 10, (guint64) 0);
|
||||||
GST_WRITE_UINT64_BE (h + 18, (guint64) 0);
|
GST_WRITE_UINT64_BE (h + 18, (guint64) 0);
|
||||||
GST_WRITE_UINT64_BE (h + 26, (guint64) 0);
|
GST_WRITE_UINT64_BE (h + 26, (guint64) 0);
|
||||||
|
@ -444,15 +444,16 @@ gst_dp_caps_from_packet (guint header_length, const guint8 * header,
|
||||||
const guint8 * payload)
|
const guint8 * payload)
|
||||||
{
|
{
|
||||||
GstCaps *caps;
|
GstCaps *caps;
|
||||||
const gchar *string;
|
gchar *string;
|
||||||
|
|
||||||
g_return_val_if_fail (header, NULL);
|
g_return_val_if_fail (header, NULL);
|
||||||
g_return_val_if_fail (payload, NULL);
|
g_return_val_if_fail (payload, NULL);
|
||||||
g_return_val_if_fail (GST_DP_HEADER_PAYLOAD_TYPE (header) ==
|
g_return_val_if_fail (GST_DP_HEADER_PAYLOAD_TYPE (header) ==
|
||||||
GST_DP_PAYLOAD_CAPS, NULL);
|
GST_DP_PAYLOAD_CAPS, NULL);
|
||||||
|
|
||||||
string = (gchar *) payload;
|
string = g_strndup ((gchar *) payload, GST_DP_HEADER_PAYLOAD_LENGTH (header));
|
||||||
caps = gst_caps_from_string (string);
|
caps = gst_caps_from_string (string);
|
||||||
|
g_free (string);
|
||||||
return caps;
|
return caps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue