]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
datatype: reject incompletely parsed integers in integer_type_parse()
authorPatrick McHardy <kaber@trash.net>
Tue, 6 Jul 2010 04:11:48 +0000 (06:11 +0200)
committerPatrick McHardy <kaber@trash.net>
Tue, 6 Jul 2010 04:11:48 +0000 (06:11 +0200)
Signed-off-by: Patrick McHardy <kaber@trash.net>
src/datatype.c

index 80271043535fef281bc4f8a817a2c1a161451d82..70670e973b4b196d0086872609e625539d2ccbc9 100644 (file)
@@ -215,9 +215,11 @@ static struct error_record *integer_type_parse(const struct expr *sym,
                                               struct expr **res)
 {
        mpz_t v;
+       int len;
 
        mpz_init(v);
-       if (gmp_sscanf(sym->identifier, "%Zu", v) != 1) {
+       if (gmp_sscanf(sym->identifier, "%Zu%n", v, &len) != 1 ||
+           (int)strlen(sym->identifier) != len) {
                mpz_clear(v);
                if (sym->dtype != &integer_type)
                        return NULL;