Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751187AbdGNThM (ORCPT ); Fri, 14 Jul 2017 15:37:12 -0400 Received: from mail-oi0-f46.google.com ([209.85.218.46]:35119 "EHLO mail-oi0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751004AbdGNThJ (ORCPT ); Fri, 14 Jul 2017 15:37:09 -0400 MIME-Version: 1.0 In-Reply-To: References: <20170714120720.906842-1-arnd@arndb.de> <20170714120720.906842-18-arnd@arndb.de> From: Arnd Bergmann Date: Fri, 14 Jul 2017 21:37:08 +0200 X-Google-Sender-Auth: N9DHVa50gxkA-dQZmq-EYTFgrhg Message-ID: Subject: Re: [PATCH 17/22] platform/x86: alienware-wmi: fix format string overflow warning To: Andy Shevchenko Cc: "linux-kernel@vger.kernel.org" , Darren Hart , Andy Shevchenko , Greg Kroah-Hartman , Linus Torvalds , Guenter Roeck , Andrew Morton , netdev , "David S . Miller" , "James E . J . Bottomley" , "Martin K . Petersen" , linux-scsi , "x86@kernel.org" , Mario Limonciello , Arvind Yadav , Platform Driver 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: 1354 Lines: 38 On Fri, Jul 14, 2017 at 9:18 PM, Andy Shevchenko wrote: > On Fri, Jul 14, 2017 at 3:07 PM, Arnd Bergmann wrote: >> gcc points out a possible format string overflow for a large value of 'zone': >> >> drivers/platform/x86/alienware-wmi.c: In function 'alienware_wmi_init': >> drivers/platform/x86/alienware-wmi.c:461:24: error: '%02X' directive writing between 2 and 8 bytes into a region of size 6 [-Werror=format-overflow=] >> sprintf(buffer, "zone%02X", i); >> ^~~~ >> drivers/platform/x86/alienware-wmi.c:461:19: note: directive argument in the range [0, 2147483646] >> sprintf(buffer, "zone%02X", i); >> ^~~~~~~~~~ >> drivers/platform/x86/alienware-wmi.c:461:3: note: 'sprintf' output between 7 and 13 bytes into a destination of size 10 >> >> While the zone should never be that large, it's easy to make the >> buffer a few bytes longer so gcc can prove this to be safe. > > Please, be a bit smarter on such fixes. > > Here we need to convert > > int i; > > to > > u8 i; That was my first impulse, but then I decided not to change the idiomatic 'int i' for the index variable to 'u8' as that would be less idiomatic. > I will take it after addressing above. > > P.S. You may do this change across the file. How about changing it to 'u8 zone'? Arnd