[Bug 691698] New: Memory corruption: gst_pad_get_pad_template_caps returns a reference on GST_CAPS_ANY

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jan 14 00:57:34 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=691698
  GStreamer | gstreamer (core) | 1.0.5

           Summary: Memory corruption: gst_pad_get_pad_template_caps
                    returns a reference on GST_CAPS_ANY
    Classification: Platform
           Product: GStreamer
           Version: 1.0.5
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: visechelle at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Inside gst_pad_get_pad_template_caps function in gstpad.c, if the pad does not
have a padtemplate it returns a reference on GST_CAPS_ANY that has been
previously referenced with gst_caps_ref ().
The problem with this is that there is no shared access protection with a mutex
for instance. gst_pad_get_pad_template_caps () is called in
gst_pad_proxy_query_caps () which can be called by several threads and this
might lead to memory corruption.
I think a new gstcaps of type ANY should be return using gst_caps_new_any (),
see the patch in attachment.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list