The C95 specification states: "The free function causes the space pointed to by ptr to be deallocated, that is, made available for further allocation. If ptr is a null pointer, no action occurs". The UEFI FreePool() function, which the StdLib implementation of free() uses, does not make this check. This fix adds a check for null to the free() function such that if the pointer argument is NULL, nothing is done.
Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: erik.c.bjorge@intel.com
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13739
6f19259b-4bc3-4df7-8a09-
765794883524
void\r
free(void *Ptr)\r
{\r
- (void) gBS->FreePool (Ptr);\r
+ if(Ptr != NULL) {\r
+ (void) gBS->FreePool (Ptr);\r
+ }\r
}\r
\r
/** The realloc function changes the size of the object pointed to by Ptr to\r