aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/utils/nftables/patches/202-datatype-use-mpz_set_str-instead-of-gmp_sscanf.patch
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2014-12-16 09:28:59 +0000
committerSteven Barth <steven@midlink.org>2014-12-16 09:28:59 +0000
commit8735ba2ea4aa1e56748fce5c3ae5aba11eeb8828 (patch)
tree65b6f6fe4c1055b34f477a965063183e40f7fdec /package/network/utils/nftables/patches/202-datatype-use-mpz_set_str-instead-of-gmp_sscanf.patch
parentdfdb86d7bd9c59a648d1f304a73df7bf80c3be53 (diff)
downloadmaster-187ad058-8735ba2ea4aa1e56748fce5c3ae5aba11eeb8828.tar.gz
master-187ad058-8735ba2ea4aa1e56748fce5c3ae5aba11eeb8828.tar.bz2
master-187ad058-8735ba2ea4aa1e56748fce5c3ae5aba11eeb8828.zip
nftables: bump to release 0.4, cleanup our patches
Signed-off-by: Steven Barth <steven@midlink.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43730 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/network/utils/nftables/patches/202-datatype-use-mpz_set_str-instead-of-gmp_sscanf.patch')
-rw-r--r--package/network/utils/nftables/patches/202-datatype-use-mpz_set_str-instead-of-gmp_sscanf.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/package/network/utils/nftables/patches/202-datatype-use-mpz_set_str-instead-of-gmp_sscanf.patch b/package/network/utils/nftables/patches/202-datatype-use-mpz_set_str-instead-of-gmp_sscanf.patch
new file mode 100644
index 0000000000..4b22ec26e5
--- /dev/null
+++ b/package/network/utils/nftables/patches/202-datatype-use-mpz_set_str-instead-of-gmp_sscanf.patch
@@ -0,0 +1,28 @@
+From 23e8958a5e539f682be4cbdf5196aa2014c7e295 Mon Sep 17 00:00:00 2001
+From: Steven Barth <cyrus@openwrt.org>
+Date: Mon, 15 Dec 2014 14:09:27 +0100
+Subject: [PATCH 2/5] datatype: use mpz_set_str instead of gmp_sscanf
+
+This simplifies the integer parsing logic and restricts it to
+functions being part of the mini-gmp subset.
+
+Signed-off-by: Steven Barth <cyrus@openwrt.org>
+---
+ src/datatype.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+--- a/src/datatype.c
++++ b/src/datatype.c
+@@ -275,11 +275,9 @@ static struct error_record *integer_type
+ struct expr **res)
+ {
+ mpz_t v;
+- int len;
+
+ mpz_init(v);
+- if (gmp_sscanf(sym->identifier, "%Zu%n", v, &len) != 1 ||
+- (int)strlen(sym->identifier) != len) {
++ if (mpz_set_str(v, sym->identifier, 0)) {
+ mpz_clear(v);
+ return error(&sym->location, "Could not parse %s",
+ sym->dtype->desc);