[PATCH] acpi: acpidump: fix overflow before widening bug

Keng-Yu Lin kengyu at canonical.com
Mon May 20 07:21:23 UTC 2013


On Tue, May 7, 2013 at 8:56 AM, Colin King <colin.king at canonical.com> wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> Coverity CID#997275, Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)
>
> To avoid 32 bit overflow, cast info->bit_field_nbits to uint64_t before the
> shift.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>  src/acpi/acpidump/acpidump.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/acpi/acpidump/acpidump.c b/src/acpi/acpidump/acpidump.c
> index 3bfbc2a..e509949 100644
> --- a/src/acpi/acpidump/acpidump.c
> +++ b/src/acpi/acpidump/acpidump.c
> @@ -101,7 +101,7 @@ static void acpi_dump_str(fwts_framework *fw, fwts_acpidump_field *info, void *d
>  static uint64_t apci_dump_get_uint64_t(fwts_acpidump_field *info, void *data)
>  {
>         uint64_t        ret;
> -       uint64_t        mask = (1<<info->bit_field_nbits) - 1;
> +       uint64_t        mask = (1<<(uint64_t)info->bit_field_nbits) - 1;
>         int i;
>
>         switch (info->size) {
> --
> 1.8.1.2
>
Acked-by: Keng-Yu Lin <kengyu at canonical.com>



More information about the fwts-devel mailing list