aboutsummaryrefslogtreecommitdiff
path: root/romfs
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2018-07-23 15:19:44 +0200
committerAlexey Kardashevskiy <aik@ozlabs.ru>2018-07-24 16:59:26 +1000
commitd8a9354c2a351360da438826c95cf78efcaaf1b0 (patch)
treeaf761a1e51b4cea817be3a210be1d7fa3d82218f /romfs
parent49482e06ea74652a70a8cd067b852cc142021c03 (diff)
downloadSLOF-d8a9354c2a351360da438826c95cf78efcaaf1b0.zip
SLOF-d8a9354c2a351360da438826c95cf78efcaaf1b0.tar.gz
SLOF-d8a9354c2a351360da438826c95cf78efcaaf1b0.tar.bz2
romfs/tools: Silence more compiler warnings with GCC 8.1
GCC 8 complains about the following usages of strncpy, too: create_crc.c:86:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation] strncpy(uHeader.stHeader.version, pcVersion, 16); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ create_crc.c:84:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation] strncpy(uHeader.stHeader.version, pcVersion, 16); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Let's work around the issue by using memcpy instead. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Diffstat (limited to 'romfs')
-rw-r--r--romfs/tools/create_crc.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/romfs/tools/create_crc.c b/romfs/tools/create_crc.c
index 475b184..abc373b 100644
--- a/romfs/tools/create_crc.c
+++ b/romfs/tools/create_crc.c
@@ -32,6 +32,11 @@ static uint64_t ui64globalHeaderSize = 0;
/* flag to filter detect the header in buildDataStream() */
static int iglobalHeaderFlag = 1;
+static size_t min(size_t a, size_t b)
+{
+ return a < b ? a : b;
+}
+
/**
* Build the file image and store it as Data Stream of bytes
* calculate a first CRC for the first file and
@@ -80,13 +85,13 @@ createHeaderImage(int notime)
};
/* read driver info */
- if (NULL != (pcVersion = getenv("DRIVER_NAME"))) {
- strncpy(stHeader.version, pcVersion, 16);
- } else if (NULL != (pcVersion = getenv("USER"))) {
- strncpy(stHeader.version, pcVersion, 16);
- } else if (pcVersion == NULL) {
- strncpy(stHeader.version, "No known user!", 16);
- }
+ pcVersion = getenv("DRIVER_NAME");
+ if (!pcVersion)
+ pcVersion = getenv("USER");
+ if (!pcVersion)
+ pcVersion = "unknown";
+ memcpy(stHeader.version, pcVersion,
+ min(strlen(pcVersion), sizeof(stHeader.version)));
if (!notime) {
/* read time and write it into data stream */