summaryrefslogtreecommitdiff
path: root/source/components/dispatcher/dsmethod.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/components/dispatcher/dsmethod.c')
-rw-r--r--source/components/dispatcher/dsmethod.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/source/components/dispatcher/dsmethod.c b/source/components/dispatcher/dsmethod.c
index 54a5c8232774..f1c3be8b1953 100644
--- a/source/components/dispatcher/dsmethod.c
+++ b/source/components/dispatcher/dsmethod.c
@@ -123,6 +123,7 @@ AcpiDsAutoSerializeMethod (
WalkState = AcpiDsCreateWalkState (Node->OwnerId, NULL, NULL, NULL);
if (!WalkState)
{
+ AcpiPsFreeOp (Op);
return_ACPI_STATUS (AE_NO_MEMORY);
}
@@ -131,6 +132,7 @@ AcpiDsAutoSerializeMethod (
if (ACPI_FAILURE (Status))
{
AcpiDsDeleteWalkState (WalkState);
+ AcpiPsFreeOp (Op);
return_ACPI_STATUS (Status);
}
@@ -139,10 +141,6 @@ AcpiDsAutoSerializeMethod (
/* Parse the method, scan for creation of named objects */
Status = AcpiPsParseAml (WalkState);
- if (ACPI_FAILURE (Status))
- {
- return_ACPI_STATUS (Status);
- }
AcpiPsDeleteParseTree (Op);
return_ACPI_STATUS (Status);