ACK: [PATCH] lib: fwts_acpi: fix potential infinite loop in data copy
ivanhu
ivan.hu at canonical.com
Tue Apr 6 05:37:57 UTC 2021
On 3/30/21 6:39 PM, Colin King wrote:
> 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++)
Acked-by: Ivan Hu <ivan.hu at canonical.com>
More information about the fwts-devel
mailing list