diff mbox series

[v2,2/4] romfs/tools: Silence GCC 8.1 compiler warning with FLASHFS_MAGIC

Message ID 1532004387-3123-3-git-send-email-thuth@redhat.com
State Accepted
Headers show
Series Clean-ups and fixes for the build_romfs tool | expand

Commit Message

Thomas Huth July 19, 2018, 12:46 p.m. UTC
GCC 8.1 introduce some new warnings which affect create_crc.c. One of
them is:

create_crc.c: In function ‘createHeaderImage’:
create_crc.c:110:2: warning: ‘strncpy’ output truncated before terminating nul
 copying 8 bytes from a string of the same length [-Wstringop-truncation]
  strncpy(uHeader.stHeader.magic, FLASHFS_MAGIC, 8);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Initialize the header struct statically here instead to silence the warning.

Suggested-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 romfs/tools/create_crc.c | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)
diff mbox series

Patch

diff --git a/romfs/tools/create_crc.c b/romfs/tools/create_crc.c
index e354339..475b184 100644
--- a/romfs/tools/create_crc.c
+++ b/romfs/tools/create_crc.c
@@ -72,10 +72,12 @@  createHeaderImage(int notime)
 	char dastr[16] = { 0, };
 	unsigned long long da = 0;
 
-	struct stH stHeader;
-
-	/* initialize Header */
-	memset(&stHeader, 0x00, sizeof(stHeader));
+	struct stH stHeader = {
+		.magic = FLASHFS_MAGIC,
+		.platform_name = FLASHFS_PLATFORM_MAGIC,
+		.platform_revision = FLASHFS_PLATFORM_REVISION,
+		.ui64FileEnd = -1,
+	};
 
 	/* read driver info */
 	if (NULL != (pcVersion = getenv("DRIVER_NAME"))) {
@@ -104,17 +106,6 @@  createHeaderImage(int notime)
 	}
 	memcpy(stHeader.date, &da, 8);
 
-	/* write Magic value into data stream */
-	strncpy(stHeader.magic, FLASHFS_MAGIC, 8);
-	/* write platform name into data stream */
-	strcpy(stHeader.platform_name, FLASHFS_PLATFORM_MAGIC);
-	/* write platform revision into data stream */
-	strcpy(stHeader.platform_revision, FLASHFS_PLATFORM_REVISION);
-
-
-	/* fill end of file info (8 bytes of FF) into data stream */
-	stHeader.ui64FileEnd = -1;
-
 	/* read address of next file and address of header date, both are 64 bit values */
 	ui64RomAddr = 0;
 	ui64DataAddr = 0;