From e50f690d815036cd096a287c8235a0b4ab3c74a6 Mon Sep 17 00:00:00 2001 From: khali Date: Wed, 13 May 2015 07:17:38 +0000 Subject: Fix warnings about comparison between signed and unsigned integers --- CHANGELOG | 2 ++ dmidecode.c | 15 ++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 123730c..ec70cc6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ 2015-05-13 Jean Delvare * dmidecode.c: Add support for SMBIOS3 EFI table. + * dmidecode.c: Fix warnings about comparison between signed and + unsigned integers. 2015-05-12 Jean Delvare diff --git a/dmidecode.c b/dmidecode.c index 52dca49..b96bf5c 100644 --- a/dmidecode.c +++ b/dmidecode.c @@ -4412,12 +4412,13 @@ static void dmi_table_decode(u8 *buf, u32 len, u16 num, u16 ver, u32 flags) /* look for the next handle */ next = data + h.length; - while (next - buf + 1 < len && (next[0] != 0 || next[1] != 0)) + while ((unsigned long)(next - buf + 1) < len + && (next[0] != 0 || next[1] != 0)) next++; next += 2; if (display) { - if (next - buf <= len) + if ((unsigned long)(next - buf) <= len) { if (opt.flags & FLAG_DUMP) { @@ -4451,11 +4452,11 @@ static void dmi_table_decode(u8 *buf, u32 len, u16 num, u16 ver, u32 flags) if (num && i != num) printf("Wrong DMI structures count: %d announced, " "only %d decoded.\n", num, i); - if (data - buf > len - || (num && data - buf < len)) - printf("Wrong DMI structures length: %d bytes " - "announced, structures occupy %d bytes.\n", - len, (unsigned int)(data - buf)); + if ((unsigned long)(data - buf) > len + || (num && (unsigned long)(data - buf) < len)) + printf("Wrong DMI structures length: %u bytes " + "announced, structures occupy %lu bytes.\n", + len, (unsigned long)(data - buf)); } } -- cgit v1.2.1