summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/components/disassembler/dmresrc.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/acpica/components/disassembler/dmresrc.c')
-rw-r--r--sys/contrib/dev/acpica/components/disassembler/dmresrc.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/sys/contrib/dev/acpica/components/disassembler/dmresrc.c b/sys/contrib/dev/acpica/components/disassembler/dmresrc.c
index c3f8302..5217084 100644
--- a/sys/contrib/dev/acpica/components/disassembler/dmresrc.c
+++ b/sys/contrib/dev/acpica/components/disassembler/dmresrc.c
@@ -279,7 +279,7 @@ AcpiDmResourceTemplate (
/* Validate the Resource Type and Resource Length */
- Status = AcpiUtValidateResource (Aml, &ResourceIndex);
+ Status = AcpiUtValidateResource (NULL, Aml, &ResourceIndex);
if (ACPI_FAILURE (Status))
{
AcpiOsPrintf ("/*** Could not validate Resource, type (%X) %s***/\n",
@@ -366,7 +366,8 @@ AcpiDmResourceTemplate (
*
* FUNCTION: AcpiDmIsResourceTemplate
*
- * PARAMETERS: Op - Buffer Op to be examined
+ * PARAMETERS: WalkState - Current walk info
+ * Op - Buffer Op to be examined
*
* RETURN: Status. AE_OK if valid template
*
@@ -377,6 +378,7 @@ AcpiDmResourceTemplate (
ACPI_STATUS
AcpiDmIsResourceTemplate (
+ ACPI_WALK_STATE *WalkState,
ACPI_PARSE_OBJECT *Op)
{
ACPI_STATUS Status;
@@ -396,6 +398,12 @@ AcpiDmIsResourceTemplate (
/* Get the ByteData list and length */
NextOp = Op->Common.Value.Arg;
+ if (!NextOp)
+ {
+ AcpiOsPrintf ("NULL byte list in buffer\n");
+ return (AE_TYPE);
+ }
+
NextOp = NextOp->Common.Next;
if (!NextOp)
{
@@ -407,7 +415,7 @@ AcpiDmIsResourceTemplate (
/* Walk the byte list, abort on any invalid descriptor type or length */
- Status = AcpiUtWalkAmlResources (Aml, Length, NULL, &EndAml);
+ Status = AcpiUtWalkAmlResources (WalkState, Aml, Length, NULL, &EndAml);
if (ACPI_FAILURE (Status))
{
return (AE_TYPE);
OpenPOWER on IntegriCloud