From 961f4a1f29787cbb6bd9a8a43b6ac4f3f0d024c0 Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Fri, 4 Oct 2019 17:34:22 +0200 Subject: Fix more sign-compare issues The one in the `dummyflasher` is a little peculiar. We actually never knew the type of the `st_size` field in `struct stat`. It happens to be `signed` in some systems (e.g. DJGPP). Change-Id: If36ba22606021400b385ea6083eacc7b360c20c5 Signed-off-by: Nico Huber Reviewed-on: https://review.coreboot.org/c/flashrom/+/35800 Tested-by: build bot (Jenkins) Reviewed-by: Jacob Garber Reviewed-by: Patrick Georgi --- dediprog.c | 2 +- dummyflasher.c | 2 +- ich_descriptors.c | 2 +- libflashrom.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dediprog.c b/dediprog.c index fbd6930e..e4124b0a 100644 --- a/dediprog.c +++ b/dediprog.c @@ -1038,7 +1038,7 @@ int dediprog_init(void) free(device); return 1; } - if (usedevice < 0 || usedevice > UINT_MAX) { + if (usedevice < 0 || usedevice > INT_MAX) { msg_perr("Error: Value for 'device' is out of range.\n"); free(device); return 1; diff --git a/dummyflasher.c b/dummyflasher.c index 2d7fa858..b9f61267 100644 --- a/dummyflasher.c +++ b/dummyflasher.c @@ -387,7 +387,7 @@ int dummy_init(void) if (!stat(emu_persistent_image, &image_stat)) { msg_pdbg("Found persistent image %s, %jd B ", emu_persistent_image, (intmax_t)image_stat.st_size); - if (image_stat.st_size == emu_chip_size) { + if ((uintmax_t)image_stat.st_size == emu_chip_size) { msg_pdbg("matches.\n"); msg_pdbg("Reading %s\n", emu_persistent_image); if (read_buf_from_file(flashchip_contents, emu_chip_size, diff --git a/ich_descriptors.c b/ich_descriptors.c index 6d7b020a..120d3fea 100644 --- a/ich_descriptors.c +++ b/ich_descriptors.c @@ -421,7 +421,7 @@ void prettyprint_ich_descriptor_master(const enum ich_chipset cs, const struct i for (i = 0; i < nm; i++) { size_t j; msg_pdbg2("%-4s", master_names[i]); - for (j = 0; j < min(num_regions, 12); j++) + for (j = 0; j < (size_t)min(num_regions, 12); j++) msg_pdbg2(" %c%c ", desc->master.mstr[i].read & (1 << j) ? 'r' : ' ', desc->master.mstr[i].write & (1 << j) ? 'w' : ' '); diff --git a/libflashrom.c b/libflashrom.c index dbc5129c..1d8a9ae7 100644 --- a/libflashrom.c +++ b/libflashrom.c @@ -139,7 +139,7 @@ const char **flashrom_supported_programmers(void) */ struct flashrom_flashchip_info *flashrom_supported_flash_chips(void) { - int i = 0; + unsigned int i = 0; struct flashrom_flashchip_info *supported_flashchips = malloc(flashchips_size * sizeof(*supported_flashchips)); -- cgit v1.2.3