From 2d789a817bd580670107125cb312e33a24bf8045 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Tue, 26 Jun 2018 18:29:56 +0800 Subject: [PATCH] gcc8.1: fix strncpy bounds warnings MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit These warnings are coming on default Fedora 28 build and probably others using gcc 8.1 ../shared.c: In function ‘expand_macro’: ../shared.c:483:3: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=] strncpy(name, value, len); ^~~~~~~~~~~~~~~~~~~~~~~~~ ../shared.c:480:9: note: length computed here len = strlen(value); ^~~~~~~~~~~~~ strncpy with a computed length via strlen is usually not the right thing. Signed-off-by: Andy Green --- shared.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared.c b/shared.c index d7c7636..6cda79e 100644 --- a/shared.c +++ b/shared.c @@ -483,7 +483,7 @@ static char *expand_macro(char *name, int maxlength) len = strlen(value); if (len > maxlength) len = maxlength; - strncpy(name, value, len); + memcpy(name, value, len); } return name + len; } -- 2.50.1