4767958250
- Guard strncpy call with GCC pragma to disable warning about possible incorrect usage, when in fact it is correct. This is for gcc 8 compatibility (bsc#1090355) ipxe-efi-guard-strncpy-with-gcc-warning-ignore-pragma.patch - Add WantedBy for enable qemu-ga@.service auto start (bsc#1090369) - Guard strncpy call with GCC pragma to disable warning about possible incorrect usage, when in fact it is correct. This is for gcc 8 compatibility (bsc#1090355) ipxe-efi-guard-strncpy-with-gcc-warning-ignore-pragma.patch - Add WantedBy for enable qemu-ga@.service auto start (bsc#1090369) OBS-URL: https://build.opensuse.org/request/show/601676 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=406
44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
From cd6ca646c12371f0146d43ea5a6b7574342c2a7f Mon Sep 17 00:00:00 2001
|
|
From: Bruce Rogers <brogers@suse.com>
|
|
Date: Wed, 25 Apr 2018 10:26:28 -0600
|
|
Subject: [PATCH] [efi] guard strncpy with gcc warning ignore pragma
|
|
|
|
Using gcc 8 with the -Wstringop-truncation option, and with warnings
|
|
treated as errors, the following error is emitted:
|
|
|
|
util/elf2efi.c:494:2: error: 'strncpy' specified bound 8 equals destination
|
|
size [-Werror=stringop-truncation]
|
|
strncpy ( ( char * ) new->hdr.Name, name, sizeof ( new->hdr.Name ) );
|
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Use gcc pragmas surrounding this line of code which avoid this warning. The
|
|
strncpy usage here is correct.
|
|
|
|
[BR: BSC#1090355]
|
|
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
|
---
|
|
src/util/elf2efi.c | 6 ++++++
|
|
1 file changed, 6 insertions(+)
|
|
|
|
diff --git a/src/util/elf2efi.c b/src/util/elf2efi.c
|
|
index 6718df77..93cdda03 100644
|
|
--- a/src/util/elf2efi.c
|
|
+++ b/src/util/elf2efi.c
|
|
@@ -494,7 +494,13 @@ static struct pe_section * process_section ( struct elf_file *elf,
|
|
memset ( new, 0, sizeof ( *new ) + section_filesz );
|
|
|
|
/* Fill in section header details */
|
|
+/* gcc 8 warning gives false positive here - our usage is correct */
|
|
+#pragma GCC diagnostic push
|
|
+#if __GNUC__ >= 8
|
|
+#pragma GCC diagnostic ignored "-Wstringop-truncation"
|
|
+#endif
|
|
strncpy ( ( char * ) new->hdr.Name, name, sizeof ( new->hdr.Name ) );
|
|
+#pragma GCC diagnostic pop
|
|
new->hdr.Misc.VirtualSize = section_memsz;
|
|
new->hdr.VirtualAddress = shdr->sh_addr;
|
|
new->hdr.SizeOfRawData = section_filesz;
|
|
--
|
|
2.16.3
|
|
|