]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
datatype: revert "fix crash if wrong integer type is passed"
authorPatrick McHardy <kaber@trash.net>
Fri, 10 Jan 2014 09:28:37 +0000 (09:28 +0000)
committerPatrick McHardy <kaber@trash.net>
Fri, 10 Jan 2014 09:28:37 +0000 (09:28 +0000)
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>
src/datatype.c

index 2e5788dc8a6aa8ca8093032ab3fbe97b7f6bdb74..9910a1b3264a5c77b8b207f5028619ce6616260c 100644 (file)
@@ -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);
        }