From: Topi Miettinen Date: Sun, 18 Jan 2015 21:57:35 +0000 (+0200) Subject: libudev: fix check for too long packet X-Git-Tag: v219~450 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=9c89c1cabd0357fa4e58a91c4d9233702896b709;p=elogind.git libudev: fix check for too long packet Don't use recvmsg(2) return value to check for too long packets (it doesn't work) but MSG_TRUNC flag. (David: add parantheses around condition) --- diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c index 484fefeeb..0d361426f 100644 --- a/src/libudev/libudev-monitor.c +++ b/src/libudev/libudev-monitor.c @@ -609,7 +609,7 @@ retry: return NULL; } - if (buflen < 32 || (size_t)buflen >= sizeof(buf)) { + if (buflen < 32 || (smsg.msg_flags & MSG_TRUNC)) { log_debug("invalid message length"); return NULL; }