提交 528a412c 编写于 作者: B Bob Moore 提交者: Rafael J. Wysocki

ACPICA: Change exception code for LoadTable operator.

For the case where one of the input strings is too long,
change the returned exception code from AE_BAD_PARAMETER to
AE_AML_STRING_LIMIT.
Signed-off-by: NBob Moore <robert.moore@intel.com>
Signed-off-by: NLv Zheng <lv.zheng@intel.com>
Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
上级 afb1bbee
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
#include "actables.h" #include "actables.h"
#include "acdispat.h" #include "acdispat.h"
#include "acevents.h" #include "acevents.h"
#include "amlcode.h"
#define _COMPONENT ACPI_EXECUTER #define _COMPONENT ACPI_EXECUTER
ACPI_MODULE_NAME("exconfig") ACPI_MODULE_NAME("exconfig")
...@@ -166,7 +167,7 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state, ...@@ -166,7 +167,7 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state,
if ((operand[0]->string.length > ACPI_NAME_SIZE) || if ((operand[0]->string.length > ACPI_NAME_SIZE) ||
(operand[1]->string.length > ACPI_OEM_ID_SIZE) || (operand[1]->string.length > ACPI_OEM_ID_SIZE) ||
(operand[2]->string.length > ACPI_OEM_TABLE_ID_SIZE)) { (operand[2]->string.length > ACPI_OEM_TABLE_ID_SIZE)) {
return_ACPI_STATUS(AE_BAD_PARAMETER); return_ACPI_STATUS(AE_AML_STRING_LIMIT);
} }
/* Find the ACPI table in the RSDT/XSDT */ /* Find the ACPI table in the RSDT/XSDT */
...@@ -213,8 +214,8 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state, ...@@ -213,8 +214,8 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state,
/* parameter_path (optional parameter) */ /* parameter_path (optional parameter) */
if (operand[4]->string.length > 0) { if (operand[4]->string.length > 0) {
if ((operand[4]->string.pointer[0] != '\\') && if ((operand[4]->string.pointer[0] != AML_ROOT_PREFIX) &&
(operand[4]->string.pointer[0] != '^')) { (operand[4]->string.pointer[0] != AML_PARENT_PREFIX)) {
/* /*
* Path is not absolute, so it will be relative to the node * Path is not absolute, so it will be relative to the node
* referenced by the root_path_string (or the NS root if omitted) * referenced by the root_path_string (or the NS root if omitted)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册