diff options
Diffstat (limited to 'drivers/acpi/executer/exconfig.c')
-rw-r--r-- | drivers/acpi/executer/exconfig.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/acpi/executer/exconfig.c b/drivers/acpi/executer/exconfig.c index b9543a7f5d21..3370aad3ee14 100644 --- a/drivers/acpi/executer/exconfig.c +++ b/drivers/acpi/executer/exconfig.c | |||
@@ -138,6 +138,14 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state, | |||
138 | 138 | ||
139 | ACPI_FUNCTION_TRACE(ex_load_table_op); | 139 | ACPI_FUNCTION_TRACE(ex_load_table_op); |
140 | 140 | ||
141 | /* Validate lengths for the signature_string, OEMIDString, OEMtable_iD */ | ||
142 | |||
143 | if ((operand[0]->string.length > ACPI_NAME_SIZE) || | ||
144 | (operand[1]->string.length > ACPI_OEM_ID_SIZE) || | ||
145 | (operand[2]->string.length > ACPI_OEM_TABLE_ID_SIZE)) { | ||
146 | return_ACPI_STATUS(AE_BAD_PARAMETER); | ||
147 | } | ||
148 | |||
141 | /* Find the ACPI table in the RSDT/XSDT */ | 149 | /* Find the ACPI table in the RSDT/XSDT */ |
142 | 150 | ||
143 | status = acpi_tb_find_table(operand[0]->string.pointer, | 151 | status = acpi_tb_find_table(operand[0]->string.pointer, |