diff --git a/ip/xfrm_policy.c b/ip/xfrm_policy.c index 433b5136..340e7df7 100644 --- a/ip/xfrm_policy.c +++ b/ip/xfrm_policy.c @@ -354,15 +354,15 @@ int xfrm_policy_print(const struct sockaddr_nl *who, struct nlmsghdr *n, if (n->nlmsg_type == XFRM_MSG_DELPOLICY) { xpid = NLMSG_DATA(n); - len -= NLMSG_LENGTH(sizeof(*xpid)); + len -= NLMSG_SPACE(sizeof(*xpid)); } else if (n->nlmsg_type == XFRM_MSG_POLEXPIRE) { xpexp = NLMSG_DATA(n); xpinfo = &xpexp->pol; - len -= NLMSG_LENGTH(sizeof(*xpexp)); + len -= NLMSG_SPACE(sizeof(*xpexp)); } else { xpexp = NULL; xpinfo = NLMSG_DATA(n); - len -= NLMSG_LENGTH(sizeof(*xpinfo)); + len -= NLMSG_SPACE(sizeof(*xpinfo)); } if (len < 0) { diff --git a/ip/xfrm_state.c b/ip/xfrm_state.c index 3eefaff8..1d61685a 100644 --- a/ip/xfrm_state.c +++ b/ip/xfrm_state.c @@ -575,15 +575,15 @@ int xfrm_state_print(const struct sockaddr_nl *who, struct nlmsghdr *n, if (n->nlmsg_type == XFRM_MSG_DELSA) { /* Dont blame me for this .. Herbert made me do it */ xsid = NLMSG_DATA(n); - len -= NLMSG_LENGTH(sizeof(*xsid)); + len -= NLMSG_SPACE(sizeof(*xsid)); } else if (n->nlmsg_type == XFRM_MSG_EXPIRE) { xexp = NLMSG_DATA(n); xsinfo = &xexp->state; - len -= NLMSG_LENGTH(sizeof(*xexp)); + len -= NLMSG_SPACE(sizeof(*xexp)); } else { xexp = NULL; xsinfo = NLMSG_DATA(n); - len -= NLMSG_LENGTH(sizeof(*xsinfo)); + len -= NLMSG_SPACE(sizeof(*xsinfo)); } if (len < 0) {