Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753314AbbBQXUs (ORCPT ); Tue, 17 Feb 2015 18:20:48 -0500 Received: from mail-vc0-f178.google.com ([209.85.220.178]:41326 "EHLO mail-vc0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752223AbbBQXUq (ORCPT ); Tue, 17 Feb 2015 18:20:46 -0500 MIME-Version: 1.0 In-Reply-To: <1424112530-116810-1-git-send-email-aksgarg1989@gmail.com> References: <1424112530-116810-1-git-send-email-aksgarg1989@gmail.com> Date: Wed, 18 Feb 2015 00:20:45 +0100 Message-ID: Subject: Re: [PATCH] lib/kstrtox.c Stop parsing integer on overflow From: Richard Weinberger To: Anshul Garg Cc: LKML , anshul.g@samsung.com, Linus Torvalds Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1847 Lines: 55 On Mon, Feb 16, 2015 at 7:48 PM, Anshul Garg wrote: > From: Anshul Garg > > While converting string representation to integer > break the loop if overflow is detected. > > Signed-off-by: Anshul Garg > --- > lib/kstrtox.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/lib/kstrtox.c b/lib/kstrtox.c > index ec8da78..6f30209 100644 > --- a/lib/kstrtox.c > +++ b/lib/kstrtox.c > @@ -70,8 +70,10 @@ unsigned int _parse_integer(const char *s, unsigned int base, unsigned long long > * it in the max base we support (16) > */ > if (unlikely(res & (~0ull << 60))) { > - if (res > div_u64(ULLONG_MAX - val, base)) > + if (res > div_u64(ULLONG_MAX - val, base)) { > overflow = 1; > + break; This changes the behaviour as described at the function description. Did you double check that all users of that function can deal with that? > + } > } > res = res * base + val; > rv++; > -- > 1.7.9.5 > > > --- > This email has been checked for viruses by Avast antivirus software. > http://www.avast.com > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/