]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/acpi/resources/rscalc.c
ACPICA: Additional error checking for pathname utilities
[mirror_ubuntu-bionic-kernel.git] / drivers / acpi / resources / rscalc.c
index 8a112d11d491eebac39708e4d0d1cc59e3f4fc96..d9063ea414e33d2cda60a796dd97eb41379cb1d0 100644 (file)
@@ -73,7 +73,7 @@ acpi_rs_stream_option_length(u32 resource_length, u32 minimum_total_length);
 
 static u8 acpi_rs_count_set_bits(u16 bit_field)
 {
-       acpi_native_uint bits_set;
+       u8 bits_set;
 
        ACPI_FUNCTION_ENTRY();
 
@@ -84,7 +84,7 @@ static u8 acpi_rs_count_set_bits(u16 bit_field)
                bit_field &= (u16) (bit_field - 1);
        }
 
-       return ((u8) bits_set);
+       return bits_set;
 }
 
 /*******************************************************************************
@@ -587,6 +587,9 @@ acpi_rs_get_pci_routing_table_length(union acpi_operand_object *package_object,
                        } else {
                                temp_size_needed +=
                                    acpi_ns_get_pathname_length((*sub_object_list)->reference.node);
+                               if (!temp_size_needed) {
+                                       return_ACPI_STATUS(AE_BAD_PARAMETER);
+                               }
                        }
                } else {
                        /*