Do you happen to know why does it build fine with
Gcc 8.2.1?
Reading the GCC manual it seems that
there is a "nostring" attribute that means
"might not be 0 terminated".
I think we should switch to that which fixes the warning
but also warns if someone tries to misuse these
as C-strings.
On Tue, Dec 18, 2018 at 12:03:30PM +0100, Philippe Mathieu-Daudé wrote: /lists. gnu.org/ archive/ html/qemu- devel/2018- 07/msg03723. html /lists. gnu.org/ archive/ html/qemu- devel/2018- 08/msg03705. html /lists. gnu.org/ archive/ html/qemu- devel/2018- 08/msg03706. html /lists. gnu.org/ archive/ html/qemu- devel/2018- 11/msg03938. html truncation" /lists. gnu.org/ archive/ html/qemu- devel/2018- 12/msg04261. html /lists. gnu.org/ archive/ html/qemu- devel/2018- 12/msg04261. html truncation is the makefile /lists. gnu.org/ archive/ html/qemu- devel/2018- 12/msg04261. html
> GCC 8 new warning prevents builds to success since quite some time.
> First report on the mailing list is in July 2018:
> https:/
>
> Various intents has been sent to fix this:
> - Incorrectly using g_strlcpy()
> https:/
> https:/
> - Using assert() and strpadcpy()
> https:/
> - Use #pragma GCC diagnostic ignored "-Wstringop-
> https:/
> - adding an inline wrapper with said pragma in there
> https:/
> - -Wno-stringop-
> https:/
>
> This series replace the strncpy() calls by strpadcpy() which seemed
> to me the saniest option.
>
> Regards,
>
> Phil.
Do you happen to know why does it build fine with
Gcc 8.2.1?
Reading the GCC manual it seems that
there is a "nostring" attribute that means
"might not be 0 terminated".
I think we should switch to that which fixes the warning
but also warns if someone tries to misuse these
as C-strings.
Seems to be a better option, does it not?
> Marc-André Lureau (1): global_ state.c | 4 ++--
> hw/acpi: Replace strncpy() by strpadcpy(pad='\0')
>
> Philippe Mathieu-Daudé (2):
> block/sheepdog: Replace strncpy() by strpadcpy(pad='\0')
> migration: Replace strncpy() by strpadcpy(pad='\0')
>
> block/sheepdog.c | 6 +++---
> hw/acpi/aml-build.c | 6 ++++--
> hw/acpi/core.c | 13 +++++++------
> migration/
> 4 files changed, 16 insertions(+), 13 deletions(-)
>
> --
> 2.17.2