iASL/Preprocessor: Fix possible memory leak in macro processor.

Free buffer in error exit path. ACPICA BZ 1047.
This commit is contained in:
Robert Moore 2014-01-17 14:34:43 -08:00
parent 0bd9445697
commit ff5bf1b503

View File

@ -432,7 +432,7 @@ PrAddMacro (
if (ArgCount >= PR_MAX_MACRO_ARGS)
{
PrError (ASL_ERROR, ASL_MSG_TOO_MANY_ARGUMENTS, TokenOffset);
return;
goto ErrorExit;
}
}
@ -472,7 +472,7 @@ PrAddMacro (
PrError (ASL_ERROR, ASL_MSG_TOO_MANY_ARGUMENTS,
THIS_TOKEN_OFFSET (Token));
return;
goto ErrorExit;
}
break;
}
@ -504,7 +504,7 @@ AddMacroToList:
THIS_TOKEN_OFFSET (Name));
}
return;
goto ErrorExit;
}
DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID
@ -523,6 +523,13 @@ AddMacroToList:
DefineInfo->Args = Args;
DefineInfo->ArgCount = ArgCount;
}
return;
ErrorExit:
ACPI_FREE (Args);
return;
}