[ipxe-devel] [PATCH 1/1] [build] fix stringop truncation warning with GCC 8.x

Christian Nilsson nikize at gmail.com
Tue May 15 21:58:24 UTC 2018


On 15 May 2018 at 23:30, Christian Hesse <list at eworm.de> wrote:
> From: Christian Hesse <mail at eworm.de>
>
> GCC 8.x gives a warning about stringop truncation:
>
> util/elf2efi.c:497:2: error: ‘strncpy’ specified bound 8 equals destination
> size [-Werror=stringop-truncation]
>
> It assumes that strncpy() is intended to copy strings, which are NULL
> terminated. We do copy fixed size memory regions, so use memcpy() instead.
>
> Signed-off-by: Christian Hesse <mail at eworm.de>
> ---
>  src/util/elf2efi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/util/elf2efi.c b/src/util/elf2efi.c
> index 6718df77..de3c9246 100644
> --- a/src/util/elf2efi.c
> +++ b/src/util/elf2efi.c
> @@ -494,7 +494,7 @@ static struct pe_section * process_section ( struct elf_file *elf,
>         memset ( new, 0, sizeof ( *new ) + section_filesz );
>
>         /* Fill in section header details */
> -       strncpy ( ( char * ) new->hdr.Name, name, sizeof ( new->hdr.Name ) );
> +       memcpy ( ( char * ) new->hdr.Name, name, sizeof ( new->hdr.Name ) );
>         new->hdr.Misc.VirtualSize = section_memsz;
>         new->hdr.VirtualAddress = shdr->sh_addr;
>         new->hdr.SizeOfRawData = section_filesz;

Hi,
Similar and other "fixes" have been suggested and discuessed, in this
case see http://lists.ipxe.org/pipermail/ipxe-devel/2018-April/006144.html

Suggested fix for the build:
http://lists.ipxe.org/pipermail/ipxe-devel/2018-April/006146.html
And used solution by Suse:
http://lists.ipxe.org/pipermail/ipxe-devel/2018-May/006157.html

Bruce did you find any issues using your first patch?



More information about the ipxe-devel mailing list