From 584e8d0604a55fcda68848bef82a2954d8af71f5 Mon Sep 17 00:00:00 2001 From: Jozsef Kadlecsik Date: Sun, 24 Jan 2010 15:49:16 +0100 Subject: New version 4.2 released: kernel: - nethash and ipportnethash types counted every entry twice which could produce bogus entries when listing/saving these types of sets (bug reported by Husnu Demir) userspace: - Checking null entries when listing/saving hash types of sets deleted because it's unnecessary and can mask possible errors. --- ipset_ipporthash.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) (limited to 'ipset_ipporthash.c') diff --git a/ipset_ipporthash.c b/ipset_ipporthash.c index ce783ee..9249b2a 100644 --- a/ipset_ipporthash.c +++ b/ipset_ipporthash.c @@ -259,13 +259,11 @@ ipporthash_printips(struct set *set, void *data, u_int32_t len, while (offset < len) { ipptr = data + offset; - if (*ipptr) { - ip = (*ipptr>>16) + mysetdata->first_ip; - port = (uint16_t) *ipptr; - printf("%s,%s\n", - ip_tostring(ip, options), - port_tostring(port, options)); - } + ip = (*ipptr>>16) + mysetdata->first_ip; + port = (uint16_t) *ipptr; + printf("%s,%s\n", + ip_tostring(ip, options), + port_tostring(port, options)); offset += IPSET_VALIGN(sizeof(ip_set_ip_t), dont_align); } } @@ -296,13 +294,11 @@ ipporthash_saveips(struct set *set, void *data, u_int32_t len, while (offset < len) { ipptr = data + offset; - if (*ipptr) { - ip = (*ipptr>>16) + mysetdata->first_ip; - port = (uint16_t) *ipptr; - printf("-A %s %s,%s\n", set->name, - ip_tostring(ip, options), - port_tostring(port, options)); - } + ip = (*ipptr>>16) + mysetdata->first_ip; + port = (uint16_t) *ipptr; + printf("-A %s %s,%s\n", set->name, + ip_tostring(ip, options), + port_tostring(port, options)); offset += IPSET_VALIGN(sizeof(ip_set_ip_t), dont_align); } } -- cgit v1.2.3