GNOME Bugzilla – Bug 757155
multisocketsink: "client-removed" signal emission broken on 64-bit and with bindings
Last modified: 2015-10-31 12:09:20 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.
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