diff options
author | /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org> | 2008-04-15 15:54:15 +0000 |
---|---|---|
committer | /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org> | 2008-04-15 15:54:15 +0000 |
commit | 5b247e7c2f91ee9fb2cec171fdd9582c06b654fe (patch) | |
tree | adf9ff7b10f9ba01aa20c72da357fbdc9a6267b5 /src | |
parent | f6a555eca69a7f179ab123c36b36798ced26388f (diff) |
fix nfnl_nfa_addattr_l (reported by Rick Xu)
Diffstat (limited to 'src')
-rw-r--r-- | src/libnfnetlink.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libnfnetlink.c b/src/libnfnetlink.c index 6b91631..58d989f 100644 --- a/src/libnfnetlink.c +++ b/src/libnfnetlink.c @@ -799,16 +799,16 @@ int nfnl_nfa_addattr_l(struct nfattr *nfa, int maxlen, int type, assert(maxlen > 0); assert(type >= 0); - if ((NFA_OK(nfa, nfa->nfa_len) + len) > maxlen) { + if (NFA_ALIGN(nfa->nfa_len) + len > maxlen) { errno = ENOSPC; return -1; } - subnfa = (struct nfattr *)(((char *)nfa) + NFA_OK(nfa, nfa->nfa_len)); + subnfa = (struct nfattr *)(((char *)nfa) + NFA_ALIGN(nfa->nfa_len)); subnfa->nfa_type = type; subnfa->nfa_len = len; memcpy(NFA_DATA(subnfa), data, alen); - nfa->nfa_len = (NLMSG_ALIGN(nfa->nfa_len) + len); + nfa->nfa_len = NFA_ALIGN(nfa->nfa_len) + len; return 0; } |