[PATCH] lib: fwts_acpi: fix potential infinite loop in data copy
Colin King
colin.king at canonical.com
Tue Mar 30 10:39:27 UTC 2021
From: Colin Ian King <colin.king at canonical.com>
The loop index i is a uint8_t however it is being compared to an
upper loop limit that is a wider type of size_t. When i reaches
255 it will wrap around to 0 and the loop will never exit. Fix this
by making i a size_t type.
Addresses-Coverity: ("Infinite loop")
Fixes: 4ad3e374bf98 ("acpi: fadt: X_GPE0/1_BLK can be zero when not used")
Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
src/lib/src/fwts_acpi.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/lib/src/fwts_acpi.c b/src/lib/src/fwts_acpi.c
index 89378d0e..2e95bc77 100644
--- a/src/lib/src/fwts_acpi.c
+++ b/src/lib/src/fwts_acpi.c
@@ -59,9 +59,10 @@ void fwts_acpi_table_get_header(fwts_acpi_table_header *hdr, uint8_t *data)
memcpy(hdr, data, sizeof(fwts_acpi_table_header));
}
-bool fwts_acpi_data_zero(const void *data, const size_t len) {
+bool fwts_acpi_data_zero(const void *data, const size_t len)
+{
uint8_t *ptr = (uint8_t *) data;
- uint8_t i;
+ size_t i;
for (i = 0; i < len; i++)
if (*ptr++)
--
2.30.2
More information about the fwts-devel
mailing list