Эх сурвалжийг харах

[NETFILTER] nfnetlink: skip size check if size not specified (== 0)

Skip sizecheck if the size of the attribute wasn't specified, ie. zero.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pablo Neira Ayuso 19 жил өмнө
parent
commit
c0400c4f5a

+ 4 - 1
include/linux/netfilter/nfnetlink.h

@@ -154,11 +154,14 @@ extern void nfattr_parse(struct nfattr *tb[], int maxattr,
 
 
 #define nfattr_bad_size(tb, max, cta_min)				\
 #define nfattr_bad_size(tb, max, cta_min)				\
 ({	int __i, __res = 0;						\
 ({	int __i, __res = 0;						\
- 	for (__i=0; __i<max; __i++) 					\
+ 	for (__i=0; __i<max; __i++) {					\
+ 		if (!cta_min[__i])					\
+ 			continue;					\
  		if (tb[__i] && NFA_PAYLOAD(tb[__i]) < cta_min[__i]){	\
  		if (tb[__i] && NFA_PAYLOAD(tb[__i]) < cta_min[__i]){	\
  			__res = 1;					\
  			__res = 1;					\
  			break;						\
  			break;						\
  		}							\
  		}							\
+ 	}								\
  	__res;								\
  	__res;								\
 })
 })