Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1319993yba; Tue, 2 Apr 2019 06:49:11 -0700 (PDT) X-Google-Smtp-Source: APXvYqx4mW7NK/o2O34qjanGEV+XvnGlVhcMVuL5aVT7jSIlhJ73Gs25yma72HPmqeLMD7AYIDoE X-Received: by 2002:a17:902:6b03:: with SMTP id o3mr70377746plk.126.1554212951494; Tue, 02 Apr 2019 06:49:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554212951; cv=none; d=google.com; s=arc-20160816; b=ORIVInPNiJtbsmj4JpWhs+sIEljNwQGuvEWOM5tc/ig3MKsXjbwSG5qEDQW221Wkpo 3lcgAARiBz3Cu0VsU5BiiOrU3TtPCTtwmsDBwRSdkfbUtWjhtzivQeddQ+TcEn4K/mQv tja/JqkbVehV1GV+jlrxWQLtzkff/EwysWhh5YjmqAbVPTQNqtxpW1HexnZAhgswRTRU V2gLrtAF78wn0LzVmvWY/L42fB/0TOElLXhIA/r8VqjMYc0BqF9JBMbecVocPnO8y338 jozoyfAotKyu+4bc6gFAHKYmGbMQApH7vP8hnwCnAZbW6dwx756icOp0eDfap2lR97z4 1r5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:subject:message-id:date:cc:to :from:mime-version:content-transfer-encoding:content-disposition; bh=nV9JYM5VhOwj6YeWaludMqv6MfjmQY2z5udTsU6xsSk=; b=A6x/x9lHeLbpHxL76aZNwOgw0ErKDdbXy5nCL0AIJ2ptqGNMg6VmZjpaWD3ee7oIjM bF2hpBkwhEyuODsDEXiOGP/MlajRv27n4z/2eaQ8XPeY8CsEp7CVyUrO0EeF+73ibH2w RG/WKtVPe7R89SZolo1aIXPhvq+kXe0lg+3YQtmvRU55V0BlaAstb4Cf6Yf11KR4IyFA CtmWbPMC51PsNrdC1adUSyS6PA4zz+wV5BeT4E46uoa48VmbaMtm/XyDs+IKqbbwbXg1 7YouZ7ywvj9ynq9GFNjcMFRkKNziyZoRDUerDt3SOSo294/b+DolPFwg7Fs2z9kB2jhF Dsmg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 124si5804061pgi.38.2019.04.02.06.48.56; Tue, 02 Apr 2019 06:49:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732123AbfDBNri (ORCPT + 99 others); Tue, 2 Apr 2019 09:47:38 -0400 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:43052 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731403AbfDBNkE (ORCPT ); Tue, 2 Apr 2019 09:40:04 -0400 Received: from [167.98.27.226] (helo=deadeye) by shadbolt.decadent.org.uk with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hBJdw-0002oP-SF; Tue, 02 Apr 2019 14:40:01 +0100 Received: from ben by deadeye with local (Exim 4.92) (envelope-from ) id 1hBJdw-0004tf-3K; Tue, 02 Apr 2019 14:40:00 +0100 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 From: Ben Hutchings To: linux-kernel@vger.kernel.org, stable@vger.kernel.org CC: akpm@linux-foundation.org, Denis Kirjanov , "Arjan van de Ven" , "Arnaldo Carvalho de Melo" , "Jiri Olsa" , "Adrian Hunter" , "Namhyung Kim" Date: Tue, 02 Apr 2019 14:38:27 +0100 Message-ID: X-Mailer: LinuxStableQueue (scripts by bwh) X-Patchwork-Hint: ignore Subject: [PATCH 3.16 40/99] perf svghelper: Fix unchecked usage of strncpy() In-Reply-To: X-SA-Exim-Connect-IP: 167.98.27.226 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.16.65-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: Arnaldo Carvalho de Melo commit 2f5302533f306d5ee87bd375aef9ca35b91762cb upstream. The strncpy() function may leave the destination string buffer unterminated, better use strlcpy() that we have a __weak fallback implementation for systems without it. In this specific case this would only happen if fgets() was buggy, as its man page states that it should read one less byte than the size of the destination buffer, so that it can put the nul byte at the end of it, so it would never copy 255 non-nul chars, as fgets reads into the orig buffer at most 254 non-nul chars and terminates it. But lets just switch to strlcpy to keep the original intent and silence the gcc 8.2 warning. This fixes this warning on an Alpine Linux Edge system with gcc 8.2: In function 'cpu_model', inlined from 'svg_cpu_box' at util/svghelper.c:378:2: util/svghelper.c:337:5: error: 'strncpy' output may be truncated copying 255 bytes from a string of length 255 [-Werror=stringop-truncation] strncpy(cpu_m, &buf[13], 255); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Cc: Adrian Hunter Cc: Jiri Olsa Cc: Namhyung Kim Cc: Arjan van de Ven Fixes: f48d55ce7871 ("perf: Add a SVG helper library file") Link: https://lkml.kernel.org/n/tip-xzkoo0gyr56gej39ltivuh9g@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ben Hutchings --- tools/perf/util/svghelper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/tools/perf/util/svghelper.c +++ b/tools/perf/util/svghelper.c @@ -257,7 +257,7 @@ static char *cpu_model(void) if (file) { while (fgets(buf, 255, file)) { if (strstr(buf, "model name")) { - strncpy(cpu_m, &buf[13], 255); + strlcpy(cpu_m, &buf[13], 255); break; } }