summaryrefslogtreecommitdiff
path: root/source/compiler/prmacros.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/compiler/prmacros.c')
-rw-r--r--source/compiler/prmacros.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/source/compiler/prmacros.c b/source/compiler/prmacros.c
index 7c5f731e14f55..63bde607cf1be 100644
--- a/source/compiler/prmacros.c
+++ b/source/compiler/prmacros.c
@@ -360,7 +360,7 @@ PrAddMacro (
if (ArgCount >= PR_MAX_MACRO_ARGS)
{
PrError (ASL_ERROR, ASL_MSG_TOO_MANY_ARGUMENTS, TokenOffset);
- return;
+ goto ErrorExit;
}
}
@@ -400,7 +400,7 @@ PrAddMacro (
PrError (ASL_ERROR, ASL_MSG_TOO_MANY_ARGUMENTS,
THIS_TOKEN_OFFSET (Token));
- return;
+ goto ErrorExit;
}
break;
}
@@ -432,7 +432,7 @@ AddMacroToList:
THIS_TOKEN_OFFSET (Name));
}
- return;
+ goto ErrorExit;
}
DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID
@@ -451,6 +451,13 @@ AddMacroToList:
DefineInfo->Args = Args;
DefineInfo->ArgCount = ArgCount;
}
+
+ return;
+
+
+ErrorExit:
+ ACPI_FREE (Args);
+ return;
}