[Bug 666644] udpsrc: infinite loop on dataless UDP packets
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Dec 27 03:52:15 PST 2011
https://bugzilla.gnome.org/show_bug.cgi?id=666644
GStreamer | gst-plugins-good | git
Tim-Philipp Müller <t.i.m> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
CC| |t.i.m at zen.co.uk
Resolution| |FIXED
Target Milestone|HEAD |0.10.31
--- Comment #1 from Tim-Philipp Müller <t.i.m at zen.co.uk> 2011-12-27 11:52:10 UTC ---
Ouch, thanks for the bug report and patch!
commit 86cd5bd7f2b0fe5aa594a94536dee0bd7d715798
Author: Tim-Philipp Müller <tim.muller at collabora.co.uk>
Date: Tue Dec 27 11:50:03 2011 +0000
udpsrc: fix valgrind warning
https://bugzilla.gnome.org/show_bug.cgi?id=666644
commit b744ad03ccf85cfe34f00866964fc97fad385975
Author: Tim-Philipp Müller <tim.muller at collabora.co.uk>
Date: Tue Dec 27 11:49:10 2011 +0000
udpsrc: add unit test that sends 0-size packet
https://bugzilla.gnome.org/show_bug.cgi?id=666644
commit 0c4b60f01044e097d30095ceb3b7c65e57126a8f
Author: John Ogness <john.ogness at linutronix.de>
Date: Wed Dec 21 13:22:03 2011 +0100
udpsrc: drop dataless UDP packets
It is allowed to send/receive UDP packets with no data. When such
a packet is available, select() will return with success but
ioctl(FIONREAD) will return 0. But a read() must still occur in
order to clear off the UDP packet from the queue.
This patch will read the dataless packet from the socket. If
select() was woken for other reasons (and FIONREAD returns 0),
this may result in a UDP packet getting accidentally dropped.
But since UDP is not reliable, this is acceptable.
NOTE: This patch fixes a nasty bug where sending a dataless
UDP packet to a udpsrc instance will cause an infinite
loop.
https://bugzilla.gnome.org/show_bug.cgi?id=666644
Signed-off-by: John Ogness <john.ogness at linutronix.de>
--
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