summaryrefslogtreecommitdiffstats
path: root/src/datatype.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2014-01-10 09:28:37 +0000
committerPatrick McHardy <kaber@trash.net>2014-01-10 09:28:37 +0000
commitaed3e22a4fd7ef4ae7c249cfb9f71387df14ff73 (patch)
treeb2aabb5f192a3329821388ea44027376b8926a84 /src/datatype.c
parent806f8bba0a611fc0ce5b3104b929ce441f2b6f77 (diff)
datatype: revert "fix crash if wrong integer type is passed"
Revert commit a320531e7: We have generic type checks that handle this case just fine and indeed the bugzilla entry mentioned in the reverted patch states: BUG: invalid input descriptor type 538976288 nft: src/erec.c:100: erec_print: Assertion `0' failed. Abandon So the problem is not related to datatypes at all and generic type checking works perfectly fine: <cmdline>:1:52-57: Error: datatype mismatch, expected Ethernet protocol, expression has type Internet protocol add rule ip6 filter input position 4 meta protocol icmpv6 accept ~~~~~~~~~~~~~ ^^^^^^ Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'src/datatype.c')
-rw-r--r--src/datatype.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/datatype.c b/src/datatype.c
index 2e5788dc..9910a1b3 100644
--- a/src/datatype.c
+++ b/src/datatype.c
@@ -230,10 +230,8 @@ static struct error_record *integer_type_parse(const struct expr *sym,
if (gmp_sscanf(sym->identifier, "%Zu%n", v, &len) != 1 ||
(int)strlen(sym->identifier) != len) {
mpz_clear(v);
- if (sym->dtype != &integer_type) {
- return error(&sym->location, "This is not a valid %s",
- sym->dtype->desc);
- }
+ if (sym->dtype != &integer_type)
+ return NULL;
return error(&sym->location, "Could not parse %s",
sym->dtype->desc);
}