From: Andy Green Date: Tue, 26 Jun 2018 10:29:56 +0000 (+0800) Subject: gcc8.1: fix strncpy bounds warnings X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2d789a817bd580670107125cb312e33a24bf8045;p=cgit gcc8.1: fix strncpy bounds warnings 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 --- 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; }