qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [Qemu-devel] [PATCH for-2.12] dump: Fix build with ne


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH for-2.12] dump: Fix build with newer gcc
Date: Tue, 27 Mar 2018 17:36:47 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0

On 03/27/2018 05:21 PM, Eric Blake wrote:
> gcc 8 on rawhide is picky enough to complain:
> 
> /home/dummy/qemu/dump.c: In function 'create_header32':
> /home/dummy/qemu/dump.c:817:5: error: 'strncpy' output truncated before 
> terminating nul copying 8 bytes from a string of the same length 
> [-Werror=stringop-truncation]
>      strncpy(dh->signature, KDUMP_SIGNATURE, strlen(KDUMP_SIGNATURE));
>      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> But we already have SIG_LEN defined as the right length without needing
> to do a strlen(), and memcpy() is better than strncpy() when we know
> we do not want a trailing NUL byte.
> 
> Signed-off-by: Eric Blake <address@hidden>

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

> ---
>  dump.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/dump.c b/dump.c
> index 669f715274d..b54cd42b217 100644
> --- a/dump.c
> +++ b/dump.c
> @@ -814,7 +814,7 @@ static void create_header32(DumpState *s, Error **errp)
>      size = sizeof(DiskDumpHeader32);
>      dh = g_malloc0(size);
> 
> -    strncpy(dh->signature, KDUMP_SIGNATURE, strlen(KDUMP_SIGNATURE));
> +    memcpy(dh->signature, KDUMP_SIGNATURE, SIG_LEN);
>      dh->header_version = cpu_to_dump32(s, 6);
>      block_size = s->dump_info.page_size;
>      dh->block_size = cpu_to_dump32(s, block_size);
> @@ -926,7 +926,7 @@ static void create_header64(DumpState *s, Error **errp)
>      size = sizeof(DiskDumpHeader64);
>      dh = g_malloc0(size);
> 
> -    strncpy(dh->signature, KDUMP_SIGNATURE, strlen(KDUMP_SIGNATURE));
> +    memcpy(dh->signature, KDUMP_SIGNATURE, SIG_LEN);
>      dh->header_version = cpu_to_dump32(s, 6);
>      block_size = s->dump_info.page_size;
>      dh->block_size = cpu_to_dump32(s, block_size);
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]