firmware-utils: mktplinkfw{2,-lib}: fix compiler warnings/errors
authorPetr Štetiar <ynezz@true.cz>
Sat, 20 Jul 2019 23:13:29 +0000 (01:13 +0200)
committerPetr Štetiar <ynezz@true.cz>
Tue, 23 Jul 2019 20:07:23 +0000 (22:07 +0200)
mktplinkfw-lib.c:143:17: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Werror=sign-compare]
mktplinkfw-lib.c:104:2: error: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Werror=unused-result]

Signed-off-by: Petr Štetiar <ynezz@true.cz>
tools/firmware-utils/src/mktplinkfw-lib.c
tools/firmware-utils/src/mktplinkfw.c
tools/firmware-utils/src/mktplinkfw2.c

index e3213274c19c57956020ac232e103652268283f4..cd681367526447177540eb8de01a2a89f29cc5dd 100644 (file)
@@ -101,8 +101,8 @@ int read_to_buf(const struct file_info *fdata, char *buf)
        }
 
        errno = 0;
-       fread(buf, fdata->file_size, 1, f);
-       if (errno != 0) {
+       ssize_t r = fread(buf, fdata->file_size, 1, f);
+       if (r != 1 || errno != 0) {
                ERRS("unable to read from file \"%s\"", fdata->file_name);
                goto out_close;
        }
@@ -124,7 +124,7 @@ static int pad_jffs2(char *buf, int currlen, int maxlen)
        pad_mask = (4 * 1024) | (64 * 1024);    /* EOF at 4KB and at 64KB */
        while ((len < maxlen) && (pad_mask != 0)) {
                uint32_t mask;
-               int i;
+               unsigned int i;
 
                for (i = 10; i < 32; i++) {
                        mask = 1 << i;
index ce2acc20c93798175f650b44529a51e2179d91a1..994a40bc378502f8a9e381c009b51d604d67e8d2 100644 (file)
@@ -365,8 +365,8 @@ void fill_header(char *buf, int len)
        memset(hdr, 0, sizeof(struct fw_header));
 
        hdr->version = htonl(hdr_ver);
-       strncpy(hdr->vendor_name, vendor, sizeof(hdr->vendor_name));
-       strncpy(hdr->fw_version, version, sizeof(hdr->fw_version));
+       memcpy(hdr->vendor_name, vendor, sizeof(hdr->vendor_name));
+       memcpy(hdr->fw_version, version, sizeof(hdr->fw_version));
        hdr->hw_id = htonl(hw_id);
        hdr->hw_rev = htonl(hw_rev);
 
index 102d72b1cc67f184d9dcdecc03c3ef1280d513de..a41b8066e95082761de9bf7f39ffb4df7ca81bc8 100644 (file)
@@ -178,7 +178,6 @@ static struct flash_layout layouts[] = {
 static void usage(int status)
 {
        FILE *stream = (status != EXIT_SUCCESS) ? stderr : stdout;
-       struct board_info *board;
 
        fprintf(stream, "Usage: %s [OPTIONS...]\n", progname);
        fprintf(stream,