Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gstreamer gstreamer
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 680
    • Issues 680
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 354
    • Merge requests 354
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gstreamergstreamer
  • Issues
  • #257

Closed
Open
Created Dec 04, 2017 by Bugzilla Migration User@bugzilla-migration

GstElement::request_new_pad() is racy

Submitted by Sebastian Dröge @slomo

Link to original bug (#791193)

Description

Currently the subclass is expected to return an unowned (transfer none) pad reference, which is assumed to be owned by the element. The caller (gst_element_get_request_pad() / gst_element_request_pad()) is directly calling gst_object_ref().

But there's a small window in which the pad could be removed from the element again before the gst_object_ref(), causing an invalid pointer to freed memory to be returned to the caller.

I don't see how we can fix this in 1.0 without adding a new vfunc that has the return value as (transfer full).

Assignee
Assign to
Time tracking