From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kulikov Vasiliy Subject: [PATCH 5/5] net: dccp: fix sign bug Date: Sat, 17 Jul 2010 19:21:00 +0400 Message-ID: <1279380060-15394-1-git-send-email-segooon@gmail.com> Cc: Arnaldo Carvalho de Melo , "David S. Miller" , Gerrit Renker , dccp@vger.kernel.org, netdev@vger.kernel.org To: kernel-janitors@vger.kernel.org Return-path: Received: from mail-ew0-f46.google.com ([209.85.215.46]:53990 "EHLO mail-ew0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755499Ab0GQPVR (ORCPT ); Sat, 17 Jul 2010 11:21:17 -0400 Sender: netdev-owner@vger.kernel.org List-ID: 'gap' is unsigned, so this code is wrong: gap = -new_head; ... if (gap > 0) { ... } Make 'gap' signed. The semantic patch that finds this problem (many false-positive results): (http://coccinelle.lip6.fr/) // @ r1 @ identifier f; @@ int f(...) { ... } @@ identifier r1.f; type T; unsigned T x; @@ *x = f(...) ... *x > 0 Signed-off-by: Kulikov Vasiliy --- net/dccp/ackvec.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/dccp/ackvec.c b/net/dccp/ackvec.c index 2abddee..92a6fcb 100644 --- a/net/dccp/ackvec.c +++ b/net/dccp/ackvec.c @@ -201,7 +201,7 @@ static inline int dccp_ackvec_set_buf_head_state(struct dccp_ackvec *av, const unsigned int packets, const unsigned char state) { - unsigned int gap; + long gap; long new_head; if (av->av_vec_len + packets > DCCP_MAX_ACKVEC_LEN) -- 1.7.0.4