udpsrc: GstSocketTimestampMessage only for SCM_TIMESTAMPNS

Deserialize socket control messages as GstSocketTimestampMessage only
if (level, type) is (SOL_SOCKET, SCM_TIMESTAMPNS).

Without this patch, messages with types SCM_RIGHTS or SCM_CREDENTIALS
could be deserialized as GstSocketTimestampMessage instead of
GUnixFDMessage or GUnixCredentialsMessage from gio.

Fixes #1736

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3777>
This commit is contained in:
David Svensson Fors 2023-01-23 12:01:00 +01:00 committed by Tim-Philipp Müller
parent 0fefde5da4
commit 304352ac17

View file

@ -476,7 +476,8 @@ gst_socket_timestamp_message_deserialize (gint level,
{
GstSocketTimestampMessage *message;
if (level != SOL_SOCKET)
if (level != SOL_SOCKET
|| type != gst_socket_timestamp_message_get_msg_type (NULL))
return NULL;
if (size < sizeof (struct timespec))