]> git.proxmox.com Git - mirror_edk2.git/commit - MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/OnigurumaUefiPort.h
MdeModulePkg: RegularExpressionDxe: support free(NULL)
authorLaszlo Ersek <lersek@redhat.com>
Wed, 24 Feb 2016 20:00:04 +0000 (21:00 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Fri, 26 Feb 2016 17:30:14 +0000 (18:30 +0100)
commitffbb5ae3ba7da2ece8dbf116b1eb0718c346d19b
treee4d4c3171582bb80c69e5df5e21f3a385096a871
parent328d8cfa6278a5558ce510662df73f4c17086567
MdeModulePkg: RegularExpressionDxe: support free(NULL)

The ISO C standard says about free(),

  If ptr is a null pointer, no action occurs.

This is not true of the FreePool() interface of the MemoryAllocationLib
class:

  Buffer must have been allocated on a previous call to the pool
  allocation services of the Memory Allocation Library. [...] If Buffer
  was not allocated with a pool allocation function in the Memory
  Allocation Library, then ASSERT().

Therefore we must not forward the argument of free() to FreePool() without
checking.

Cc: Cecil Sheng <cecil.sheng@hpe.com>
Cc: Cinnamon Shia <cinnamon.shia@hpe.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Qiu Shumin <shumin.qiu@intel.com>
Cc: Samer El-Haj-Mahmoud <elhaj@hpe.com>
Cc: Yao Jiewen <Jiewen.Yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-By: Cinnamon Shia <cinnamon.shia@hpe.com>
MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/OnigurumaUefiPort.h