diff options
Diffstat (limited to 'MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c')
-rw-r--r-- | MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c index 9aa7b0a68e..4659c4473e 100644 --- a/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c +++ b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c @@ -2,7 +2,7 @@ Module to rewrite stdlib references within Oniguruma
- (C) Copyright 2014-2015 Hewlett Packard Enterprise Development LP<BR>
+ (C) Copyright 2014-2021 Hewlett Packard Enterprise Development LP<BR>
Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -96,3 +96,20 @@ void* memset (void *dest, char ch, unsigned int count) return SetMem (dest, count, ch);
}
+void free(void *ptr)
+{
+ VOID *EvalOnce;
+ ONIGMEM_HEAD *PoolHdr;
+
+ EvalOnce = ptr;
+ if (EvalOnce == NULL) {
+ return;
+ }
+
+ PoolHdr = (ONIGMEM_HEAD *)EvalOnce - 1;
+ if (PoolHdr->Signature == ONIGMEM_HEAD_SIGNATURE) {
+ FreePool (PoolHdr);
+ } else {
+ FreePool (EvalOnce);
+ }
+}
|