From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [patch] netfilter: prevent harmless integer overflow Date: Tue, 18 Jun 2013 10:46:03 +0300 Message-ID: <20130618074603.GF12329@elgon.mountain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: coreteam@netfilter.org, netdev@vger.kernel.org, bridge@lists.linux-foundation.org, kernel-janitors@vger.kernel.org, "David S. Miller" , Stephen Hemminger , netfilter@vger.kernel.org, netfilter-devel@vger.kernel.org, Patrick McHardy , Pablo Neira Ayuso To: Bart De Schuymer Return-path: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: bridge-bounces@lists.linux-foundation.org Errors-To: bridge-bounces@lists.linux-foundation.org List-Id: netdev.vger.kernel.org This overflow is harmless because a few lines later we check: if (num_counters != t->private->nentries) { But it still upsets the static checkers. Signed-off-by: Dan Carpenter diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c index 3d110c4..141350e 100644 --- a/net/bridge/netfilter/ebtables.c +++ b/net/bridge/netfilter/ebtables.c @@ -1278,6 +1278,8 @@ static int do_update_counters(struct net *net, const char *name, if (num_counters == 0) return -EINVAL; + if (num_counters > INT_MAX / sizeof(*tmp)) + return -ENOMEM; tmp = vmalloc(num_counters * sizeof(*tmp)); if (!tmp)