diff options
author | /C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org> | 2005-10-28 19:25:03 +0000 |
---|---|---|
committer | /C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org> | 2005-10-28 19:25:03 +0000 |
commit | e0fb5af798a1b7723e228ffc7c67e38babc883c6 (patch) | |
tree | 88d975a7bcf7068562f39c87d4d1eb2b3ee26a84 | |
parent | c7c7bbb573e310ca6fa6040e11f86440c9380ad7 (diff) |
Fix alignment issues
-rw-r--r-- | src/libnetfilter_conntrack.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/libnetfilter_conntrack.c b/src/libnetfilter_conntrack.c index cbef0db..32a3827 100644 --- a/src/libnetfilter_conntrack.c +++ b/src/libnetfilter_conntrack.c @@ -424,9 +424,8 @@ static int nfct_conntrack_netlink_handler(struct nfct_handle *cth, struct nlmsghdr *nlh, void *arg) { struct nfgenmsg *nfmsg; - int min_len = sizeof(struct nfgenmsg) + sizeof(struct nlmsghdr); struct nfattr *attr = NFM_NFA(NLMSG_DATA(nlh)); - int attrlen = nlh->nlmsg_len - NLMSG_ALIGN(min_len); + int attrlen = NLMSG_LENGTH(nlh->nlmsg_len) - NFNL_HEADER_LEN; struct nfct_conntrack ct; unsigned int flags = 0; int type = NFNL_MSG_TYPE(nlh->nlmsg_type), ret = 0; @@ -435,7 +434,7 @@ static int nfct_conntrack_netlink_handler(struct nfct_handle *cth, nfmsg = NLMSG_DATA(nlh); - if (nlh->nlmsg_len < min_len) + if (NLMSG_LENGTH(nlh->nlmsg_len) < NFNL_HEADER_LEN) return -EINVAL; while (NFA_OK(attr, attrlen)) { @@ -666,9 +665,8 @@ static int nfct_expect_netlink_handler(struct nfct_handle *cth, struct nlmsghdr *nlh, void *arg) { struct nfgenmsg *nfmsg; - int min_len = sizeof(struct nfgenmsg) + sizeof(struct nlmsghdr); struct nfattr *attr = NFM_NFA(NLMSG_DATA(nlh)); - int attrlen = nlh->nlmsg_len - NLMSG_ALIGN(min_len); + int attrlen = NLMSG_LENGTH(nlh->nlmsg_len) - NFNL_HEADER_LEN; struct nfct_expect exp; int type = NFNL_MSG_TYPE(nlh->nlmsg_type), ret = 0; @@ -676,7 +674,7 @@ static int nfct_expect_netlink_handler(struct nfct_handle *cth, nfmsg = NLMSG_DATA(nlh); - if (nlh->nlmsg_len < min_len) + if (NLMSG_LENGTH(nlh->nlmsg_len) < NFNL_HEADER_LEN) return -EINVAL; while (NFA_OK(attr, attrlen)) { |