|
Message-ID: <20181120232950.belzgih65diux3qt@core.my.home> Date: Wed, 21 Nov 2018 00:29:50 +0100 From: Ondřej Jirman <megi@....cz> To: musl@...ts.openwall.com Subject: Mistake in RTA_OK macro Hello, This line: grep -R RTA_OK src/network/netlink.h:#define RTA_OK(nlh,end) ((char*)(end)-(char*)(rta) >= sizeof(struct rtattr)) only works by accident, because all uses of NLMSG_RTAOK reference rta variable: src/network/getifaddrs.c: for (rta = NLMSG_RTA(h, sizeof(*ifi)); NLMSG_RTAOK(rta, h); rta = RTA_NEXT(rta)) { src/network/getifaddrs.c: for (rta = NLMSG_RTA(h, sizeof(*ifi)); NLMSG_RTAOK(rta, h); rta = RTA_NEXT(rta)) { src/network/getifaddrs.c: for (rta = NLMSG_RTA(h, sizeof(*ifa)); NLMSG_RTAOK(rta, h); rta = RTA_NEXT(rta)) { src/network/netlink.h:#define NLMSG_RTAOK(rta,nlh) RTA_OK(rta,NLMSG_DATAEND(nlh)) src/network/if_nameindex.c: for (; NLMSG_RTAOK(rta, h); rta = RTA_NEXT(rta)) { I suggest: -#define RTA_OK(nlh,end) ((char*)(end)-(char*)(rta) >= sizeof(struct rtattr)) +#define RTA_OK(rta,end) ((char*)(end)-(char*)(rta) >= sizeof(struct rtattr)) thank you and regards, o.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.