After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 357617 - [libs] gst_controller_set_from_list can return without unlocking the mutex
[libs] gst_controller_set_from_list can return without unlocking the mutex
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other All
: Normal normal
: 0.10.11
Assigned To: Tim-Philipp Müller
GStreamer Maintainers
Depends on:
Reported: 2006-09-25 14:17 UTC by René Stadler
Modified: 2006-09-29 12:32 UTC
See Also:
GNOME target: ---
GNOME version: ---

Simple fix. (976 bytes, patch)
2006-09-25 14:18 UTC, René Stadler
none Details | Review

Description René Stadler 2006-09-25 14:17:25 UTC
Attaching a simple fix.
Comment 1 René Stadler 2006-09-25 14:18:21 UTC
Created attachment 73374 [details] [review]
Simple fix.
Comment 2 René Stadler 2006-09-25 14:22:51 UTC
Forgot to mention: Patch applies with offsets since I diff'd against a fixed gstcontroller.c using patch from #357432.
Comment 3 Tim-Philipp Müller 2006-09-29 12:32:59 UTC
Thanks for the patch! Went with a slightly different solution though :)

 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>

        * tests/check/libs/controller.c: (GST_START_TEST),
          Add test for the previous fix; add some more tests
          for correct refcounting behaviour; fix a few leaks
          in test cases; call gst_controller_init() at start
          of all tests.

 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>

        * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
          Don't g_return_val_if_fail() on timed values with invalid timestamps
          inside a critical section without unlocking the mutex. Spotted by
          René Stadler. (#357617)
          Also, fix up refcounting properly: when returning an existing
          controller, we should increase the reference only once and not
          once per property and when trying to control a property again
          we should also increase the refcount.