From patchwork Thu Mar 29 08:19:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 132558 Delivered-To: patch@linaro.org Received: by 10.46.84.29 with SMTP id i29csp1446350ljb; Thu, 29 Mar 2018 01:19:33 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/3XZTgRwMphB0kJbQ7aPOeJQhqKF5GtV/D4e74M0m92vBIz60qWuzQALegYxhKOaJRsaIl X-Received: by 2002:a17:902:24c:: with SMTP id 70-v6mr7290654plc.384.1522311573442; Thu, 29 Mar 2018 01:19:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522311573; cv=none; d=google.com; s=arc-20160816; b=DnKB6wik8zfqwXPqggOYdhcQamJ73Zp9TRIKlh8Gu0TuzXeikLiXvVfl7L909CtdfA gLwpKLq9aTwOHBwGR7sbgQbgkxpLRq2sXdpR8kkTr8Fw0Ch0tmyDr3ASwF3YYYtRFiua 4Ujqx9YN6W3hLfYGChIRCDc4ka1kG/3xfFlk5O5n2A6VADWifQxLwPN7K0WoVS/wz549 QdJpm19ezNAmfVps6/dfAn1h28Hm/mgGbFYmzOHtrlzv9keADI1lVrzvHDIpwXc+VP5s N3Go0XAPCoz6KfVCWJvgD7aAI7uNMu8Ezy91cR47GInVmWjm2z+650NtY5DJUUdtve9u K4Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=zypxE1MPezjNQo2lj7NKJgtL/F8I0IBYiYwoikmI/Bw=; b=K3ScJSxP1F8jOgXO0a2DXZBVUs8+mgtwlsmTY0uQw17F1h+XOBUsYACGt97FIjI60g HR1mrUXcxDCyaA+Jaze08AZMcIxBDCGmJGTK9TxJwfxUThbthvI6FCfu+X4PlWOvN3nQ jh/LGEATW2/k6xMXLhIZy8ZGkln9iAlKV/hTy6mV3kIAzteaOIvrqibAVoWXtlyb9E5W O+u+i5nen+UosZ4E3Yu1eDiK+ok55CIaMU9kIzr62ehCXTrAuh4X5BC8btF/8OWXgPzd YG+KcSZwAsKbOK6d+ESQZBDzl+6btOE8fICcSKMVwHPe2Dl9vlYRSzudV+IpRkAxaEOa 72Zg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=H4Ea9L/F; spf=pass (google.com: best guess record for domain of linux-mmc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-mmc-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m39-v6si5431788plg.151.2018.03.29.01.19.33; Thu, 29 Mar 2018 01:19:33 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-mmc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=H4Ea9L/F; spf=pass (google.com: best guess record for domain of linux-mmc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-mmc-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750753AbeC2ITb (ORCPT + 6 others); Thu, 29 Mar 2018 04:19:31 -0400 Received: from mail-pg0-f65.google.com ([74.125.83.65]:33178 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750716AbeC2ITb (ORCPT ); Thu, 29 Mar 2018 04:19:31 -0400 Received: by mail-pg0-f65.google.com with SMTP id i194so2606109pgd.0 for ; Thu, 29 Mar 2018 01:19:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=aDD82o2az5TjGbDdH7TsO0ptXkhpG9qZNcMLfnbEl5A=; b=H4Ea9L/FzGRdGgutdtnQMSMGh6xci6EwwCySXXm1j6ekJj7PNvsvoYWXdjP99CxNl1 XEeBxI4jGgymIFycNhPP48WugL9lv00lK0Cknb1nkFjNRLrVZzncF/Med0ryZdqLRJtH HmqNwFOWLuB7JgVZZhFTz8T2GqAJom8Cob+pOULaRUOwdHYwnle2VVRAcl1MrS0gnGny xbU/2qJsRAf2ekctRkHQGRmHRv6zcBthZlRoe3CXhf7dipLK30hr5J4fSeEc5TA8w7cX J/MBXnZXe+oWupOLKGqkQhoiLV/TtgZWESPZo+55EFxpSJh7BPOLBIcdgoE7Xr317geA MYew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=aDD82o2az5TjGbDdH7TsO0ptXkhpG9qZNcMLfnbEl5A=; b=RiQdgPfcLSODIHkiS9R/B0fbpvEDhpX5dhC1NPGq/BBsVW+PO4ua+kyx2SLaXkgsea ybrPvj0RquJ7E0e/FK5l+SZY3sinUfXu3iNKoxf/iBMYc6zHFLdR4fvjRgtkcH2fcDbt AyS3BGRhbdrjUMt/FaIbYr9Es9OQIT3obnpuvq6ayYgXdbjOzEvsfYOKXmfiCTrFW6O3 tye6U5T9HRsPOhSNtdb/aeJeodVeG/A3M8A7xPSgZXnY3xsCRkNoKsVUy9s9zadQ8Z+R vvHO2v7zfx6d5DzOSTkMkr+vcnqM3nwDMTGXkFDYDzigTdh2T2Kk/Xajmyj5ZeKaKXZi de3Q== X-Gm-Message-State: AElRT7FkVz22wqmwt26z/veOxVBSpRO1ZpkoAJCQBVmrIROhwFsGUjKi vxdKq0UxesUDi3aW1P9Prh+5gA== X-Received: by 10.101.86.198 with SMTP id w6mr4846656pgs.294.1522311570597; Thu, 29 Mar 2018 01:19:30 -0700 (PDT) Received: from localhost.localdomain ([2601:646:8880:466c:6245:cbff:fe64:591]) by smtp.gmail.com with ESMTPSA id n22sm11276056pff.19.2018.03.29.01.19.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Mar 2018 01:19:29 -0700 (PDT) From: Khem Raj To: linux-mmc@vger.kernel.org Cc: Khem Raj Subject: [PATCH] lsmmc: replace strncpy with memmove on overlapping memory copy Date: Thu, 29 Mar 2018 01:19:14 -0700 Message-Id: <20180329081914.43509-1-raj.khem@gmail.com> X-Mailer: git-send-email 2.16.3 Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org here source and destination addresses are overlapping so using memmove is going to be more efficient. Additionally, the bounded size for copy is overflowing for first copy In function 'strncpy', inlined from 'read_file' at lsmmc.c:356:3: /mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-gnueabi/mmc-utils/0.1-r0/recipe-sysroot/usr/include/bits/string_fortified.h:106:10: error: '__builtin_strncpy' accessing 4096 bytes at offsets 0 and 1 overlaps 4095 bytes at offset 1 [-Werror=restrict] return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Khem Raj --- lsmmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/lsmmc.c b/lsmmc.c index c4faa00..bcb854d 100644 --- a/lsmmc.c +++ b/lsmmc.c @@ -353,7 +353,7 @@ char *read_file(char *name) line[strlen(line) - 1] = '\0'; while (isspace(line[0])) - strncpy(&line[0], &line[1], sizeof(line)); + memmove(&line[0], &line[1], sizeof(line)-1); return strdup(line); }