From: Florian Westphal Date: Tue, 29 May 2018 14:16:44 +0000 (+0200) Subject: tests: shell: add crash reproducer X-Git-Tag: v0.9.0~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ccd0125b242e923fce98d9321a69695bb74fb193;p=thirdparty%2Fnftables.git tests: shell: add crash reproducer Two reports point to a crash in nft when 'flush' is provided on existing ruleset. In that case, nft will crash with a null-ptr dereference. "evaluate: do not inconditionally update cache from flush command" causes the commit to fail due to a cache inconsistency, we then trip over NULL location->indesc. Cause of 2nd bug not known yet, not sure how to fix cache issue either, so only adding reproducer so this can be fixed later. Without erec bug, the (errnoeous) error message would be Could not process rule: File exists Reported-by: Oleksandr Natalenko Reported-by: Timothy Redaelli Signed-off-by: Florian Westphal --- diff --git a/tests/shell/testcases/cache/0001_cache_handling_0 b/tests/shell/testcases/cache/0001_cache_handling_0 index 20c19117..77afdf8d 100755 --- a/tests/shell/testcases/cache/0001_cache_handling_0 +++ b/tests/shell/testcases/cache/0001_cache_handling_0 @@ -16,6 +16,10 @@ table inet test { set -e $NFT -f - <<< $RULESET +TMP=$(mktemp) +echo "$RULESET" >> "$TMP" +$NFT "flush ruleset;include \"$TMP\"" +rm -f "$TMP" rule_handle=$($NFT list ruleset -a | awk '/saddr/{print $NF}') $NFT delete rule inet test test handle $rule_handle $NFT delete set inet test test