netlink: drop (int) cast on length arg in NLMSG_OK
The NLMSG_OK macro compares three things:
- the len arg from the user
- a size_t: sizeof(struct nlmsghdr)
- an int: sizeof(struct nlmsghdr) casted
- an u32: the nlmsghdr->nlmsg_len member
When building with -Wsign-compare, this macro triggers a signed compare
warning. This is because it compares len to an int, and then compares
it to a u32. If len is signed, we get a warning due to the last test.
If len is unsigned, we get a warning due to the first test. Like in
strace:
socketutils.c:145:8: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
Lets drop the int cast on the first sizeof. This way, once the user
casts len to an unsigned value, everything shakes out correctly.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
1 file changed