netlink: RTA_PAYLOAD() returns int, not size_t
Since it's the size of a chunk of memory it would seem logical that RTA_PAYLOAD() returns size_t. However, it doesn't - it explicitly casts its result to an int. RTNH_OK(), which often takes the result of RTA_PAYLOAD() as a parameter compares it to an int, so using size_t can result in comparison of different-signed integer warnings from clang. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
f6b546c6e4
commit
c938d8a93e
1 changed files with 2 additions and 2 deletions
|
@ -353,7 +353,7 @@ unsigned int nl_get_ext_if(int s, sa_family_t af)
|
||||||
*/
|
*/
|
||||||
bool nl_route_get_def_multipath(struct rtattr *rta, void *gw)
|
bool nl_route_get_def_multipath(struct rtattr *rta, void *gw)
|
||||||
{
|
{
|
||||||
size_t nh_len = RTA_PAYLOAD(rta);
|
int nh_len = RTA_PAYLOAD(rta);
|
||||||
struct rtnexthop *rtnh;
|
struct rtnexthop *rtnh;
|
||||||
bool found = false;
|
bool found = false;
|
||||||
int hops = -1;
|
int hops = -1;
|
||||||
|
@ -582,7 +582,7 @@ int nl_route_dup(int s_src, unsigned int ifi_src,
|
||||||
|
|
||||||
*(unsigned int *)RTA_DATA(rta) = ifi_dst;
|
*(unsigned int *)RTA_DATA(rta) = ifi_dst;
|
||||||
} else if (rta->rta_type == RTA_MULTIPATH) {
|
} else if (rta->rta_type == RTA_MULTIPATH) {
|
||||||
size_t nh_len = RTA_PAYLOAD(rta);
|
int nh_len = RTA_PAYLOAD(rta);
|
||||||
struct rtnexthop *rtnh;
|
struct rtnexthop *rtnh;
|
||||||
|
|
||||||
for (rtnh = (struct rtnexthop *)RTA_DATA(rta);
|
for (rtnh = (struct rtnexthop *)RTA_DATA(rta);
|
||||||
|
|
Loading…
Reference in a new issue