\r
Size = sizeof(UINT16);\r
Timeout = (UINT16)PcdGet16 (PcdPlatformBootTimeOut);\r
- TimeoutPtr = &Timeout;\r
- GetGlobalEnvironmentVariable (L"Timeout", &Timeout, &Size, (VOID**)&TimeoutPtr);\r
+ Status = GetGlobalEnvironmentVariable (L"Timeout", &Timeout, &Size, (VOID**)&TimeoutPtr);\r
+ if (!EFI_ERROR (Status)) {\r
+ Timeout = *TimeoutPtr;\r
+ FreePool (TimeoutPtr);\r
+ }\r
\r
if (Timeout != 0xFFFF) {\r
if (Timeout > 0) {\r