From 72155e6da45062497532710b922e8b661f7cee16 Mon Sep 17 00:00:00 2001 From: Xiong Wu Date: Fri, 4 Jul 2008 13:21:15 +0200 Subject: Correct the upto value during list conntrack information The problem: When list numerous conntrack information from /proc/net/ip_conntrack, we found some items are missing. The solution: This patch correct the upto value in conntrack_iterate() when the length of conntrack information exceed the max length. Cc: Patrick McHardy Cc: coreteam@netfilter.org Signed-off-by: Willy Tarreau --- net/ipv4/netfilter/ip_conntrack_standalone.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/net/ipv4/netfilter/ip_conntrack_standalone.c b/net/ipv4/netfilter/ip_conntrack_standalone.c index c64a3a7..8ca7334 100644 --- a/net/ipv4/netfilter/ip_conntrack_standalone.c +++ b/net/ipv4/netfilter/ip_conntrack_standalone.c @@ -131,8 +131,11 @@ conntrack_iterate(const struct ip_conntrack_tuple_hash *hash, return 0; newlen = print_conntrack(buffer + *len, hash->ctrack); - if (*len + newlen > maxlen) + + if (*len + newlen > maxlen) { + (*upto)--; return 1; + } else *len += newlen; return 0; -- 1.5.3.3