udpsrc: Plug leaks of saddr in error cases
authorJan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
Fri, 7 May 2021 09:16:47 +0000 (11:16 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 7 May 2021 10:09:38 +0000 (10:09 +0000)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/977>

gst/udp/gstudpsrc.c

index e0b3f7f..f957007 100644 (file)
@@ -1213,6 +1213,7 @@ receive_error:
   {
     gst_buffer_unmap (outbuf, &info);
     gst_memory_unmap (udpsrc->extra_mem, &extra_info);
+    g_clear_object (&saddr);
     if (g_error_matches (err, G_IO_ERROR, G_IO_ERROR_BUSY) ||
         g_error_matches (err, G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
       g_clear_error (&err);
@@ -1226,6 +1227,7 @@ receive_error:
   }
 skip_error:
   {
+    g_clear_object (&saddr);
     GST_ELEMENT_ERROR (udpsrc, STREAM, DECODE, (NULL),
         ("UDP buffer to small to skip header"));
     return GST_FLOW_ERROR;