@@ -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;
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(-)