[systemd-devel] [PATCH] libudev: fix check for too long packet

Lennart Poettering lennart at poettering.net
Fri Jan 23 09:43:33 PST 2015


On Fri, 23.01.15 17:29, Topi Miettinen (toiwoton at gmail.com) wrote:

> On 01/23/15 03:06, Lennart Poettering wrote:
> > On Sun, 18.01.15 23:57, Topi Miettinen (toiwoton at gmail.com) wrote:
> > 
> >> Don't use recvmsg(2) return value to check for too long packets
> >> (it doesn't work) but MSG_TRUNC flag.
> > 
> > Why precisely doesn't this work? I mean, it will consider messages
> > that are exactly as large as the buffer as too long, but otherwise the
> > old check should be fine, no?
> 
> It doesn't work because the return value of recvmsg() never exceeds the
> buffer size, so too large packets are never detected.

But the test was ">=", not ">". So the old code *did* recognize all
too large packets, though it would already do so one byte earlier than
your new check...

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list