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 757155 - multisocketsink: "client-removed" signal emission broken on 64-bit and with bindings
multisocketsink: "client-removed" signal emission broken on 64-bit and with b...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal major
: 1.6.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-10-26 20:48 UTC by tocsanti
Modified: 2015-10-31 12:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch to fix invalid type in multisocketsink (1.15 KB, patch)
2015-10-26 20:48 UTC, tocsanti
committed Details | Review

Description tocsanti 2015-10-26 20:48:09 UTC
Created attachment 314161 [details] [review]
patch to fix invalid type in multisocketsink

The signal definition of client-removed signal in multisocketsink uses G_TYPE_INT as an argument. The cast may result in lost precision and invalid pointer value. The patch change type in the signal definition to G_TYPE_SOCKET.
Comment 1 Tim-Philipp Müller 2015-10-31 11:48:08 UTC
This fix breaks ABI of course, but I don't see how it can ever have worked properly, and it will continue to work where it worked before. "Loss of precision" makes it sound so harmless :)

Anyway, pushed, thanks for the patch!

commit 315950100242eed701b8977d909e4ca2fd467c84
Author: Csaba Toth <tocsanti@gmail.com>
Date:   Mon Oct 26 21:32:41 2015 +0100

    multisocketsink: fix "client-removed" signal on 64-bit platforms and with bindings
    
    The client-removed signal used G_INT_TYPE instead of G_SOCKET_TYPE
    in its definition leading to problems on platforms where the size
    of a pointer is larger than the size of an integer, It would also
    not work at all with dynamic language bindings.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=757155