BOOLEAN ReConfigure;\r
CHAR8 *RequestStr;\r
CHAR8 *Url;\r
+ UINTN UrlLen;\r
CHAR16 *HostNameStr;\r
HTTP_TOKEN_WRAP *Wrap;\r
HTTP_TCP_TOKEN_WRAP *TcpWrap;\r
//\r
// Parse the URI of the remote host.\r
//\r
- Url = AllocatePool (StrLen (Request->Url) + 1);\r
- if (Url == NULL) {\r
- return EFI_OUT_OF_RESOURCES;\r
- }\r
+ UrlLen = StrLen (Request->Url) + 1;\r
+ if (UrlLen > HTTP_URL_BUFFER_LEN) {\r
+ Url = AllocateZeroPool (UrlLen);\r
+ if (Url == NULL) {\r
+ return EFI_OUT_OF_RESOURCES;\r
+ }\r
+ FreePool (HttpInstance->Url);\r
+ HttpInstance->Url = Url; \r
+ } \r
\r
UnicodeStrToAsciiStr (Request->Url, Url);\r
UrlParser = NULL;\r
\r
Wrap->TcpWrap.Method = Request->Method;\r
\r
- FreePool (Url);\r
FreePool (HostName);\r
\r
//\r
goto Error4;\r
}\r
\r
- FreePool (Url);\r
if (HostName != NULL) {\r
FreePool (HostName);\r
}\r
}\r
\r
Error1:\r
- if (Url != NULL) {\r
- FreePool (Url);\r
- }\r
if (HostName != NULL) {\r
FreePool (HostName);\r
}\r