From: Patrick McHardy Date: Tue, 6 Jul 2010 04:11:48 +0000 (+0200) Subject: datatype: reject incompletely parsed integers in integer_type_parse() X-Git-Tag: v0.099~164 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5b684d7ab74d014f30e61928aeec60684571fa5e;p=thirdparty%2Fnftables.git datatype: reject incompletely parsed integers in integer_type_parse() Signed-off-by: Patrick McHardy --- diff --git a/src/datatype.c b/src/datatype.c index 80271043..70670e97 100644 --- a/src/datatype.c +++ b/src/datatype.c @@ -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;