#define NDEBUG
#include <debug.h>
+#define TAG_PXE_FILE 'FexP'
#define NO_FILE ((ULONG)-1)
DBG_DEFAULT_CHANNEL(FILESYSTEM);
_OpenFile = NO_FILE;
if (_CachedFile)
{
- MmHeapFree(_CachedFile);
+ FrLdrTempFree(_CachedFile, TAG_PXE_FILE);
_CachedFile = NULL;
}
return ESUCCESS;
sizeData.ServerIPAddress = _ServerIP;
strncpy((CHAR*)sizeData.FileName, Path, sizeof(sizeData.FileName));
if (!CallPxe(PXENV_TFTP_GET_FSIZE, &sizeData))
+ {
+ ERR("Failed to get '%s' size\n", Path);
return EIO;
+ }
+
_FileSize = sizeData.FileSize;
if (_FileSize < 1024 * 1024)
{
- _CachedFile = MmHeapAlloc(_FileSize);
+ _CachedFile = FrLdrTempAlloc(_FileSize, TAG_PXE_FILE);
// Don't check for allocation failure, we support _CachedFile = NULL
}
_CachedLength = 0;
{
if (_CachedFile)
{
- MmHeapFree(_CachedFile);
+ FrLdrTempFree(_CachedFile, TAG_PXE_FILE);
_CachedFile = NULL;
}
return ENOENT;