diff options
| author | Carlos Falgueras García <carlosfg@riseup.net> | 2016-08-24 14:22:16 +0200 | 
|---|---|---|
| committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-08-24 17:05:08 +0200 | 
| commit | 54fc1f15cc8a14c333a216e93a8e2a3d1cbca67e (patch) | |
| tree | ca97529416f34530862c8847ed4b48c1a8787890 | |
| parent | 39646feffc0fc247ba8098adb33f76f0a12a9b7a (diff) | |
expr: data_reg: Fix DATA_CHAIN comparison
Split DATA_VERDICT and DATA_CHAIN comparison. A verdict can have a NULL
chain (accept, drop, etc) so segfault will happen when strcmp is called.
Signed-off-by: Carlos Falgueras García <carlosfg@riseup.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
| -rw-r--r-- | src/expr/data_reg.c | 1 | 
1 files changed, 1 insertions, 0 deletions
| diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c index a954e95..395e9f6 100644 --- a/src/expr/data_reg.c +++ b/src/expr/data_reg.c @@ -387,6 +387,7 @@ bool nftnl_data_reg_cmp(const union nftnl_data_reg *r1,  		return	r1->len == r2->len &&  			!memcmp(r1->val, r2->val, r1->len);  	case DATA_VERDICT: +		return	r1->verdict == r2->verdict;  	case DATA_CHAIN:  		return	r1->verdict == r2->verdict &&  			!strcmp(r1->chain, r2->chain); | 
