summaryrefslogtreecommitdiff
path: root/ShellPkg/Application/Shell/Shell.h
diff options
context:
space:
mode:
authorQiu Shumin <shumin.qiu@intel.com>2015-12-24 08:14:51 +0000
committershenshushi <shenshushi@Edk2>2015-12-24 08:14:51 +0000
commit14810d6b644d367d4f195b3e953145a27493538c (patch)
tree39802ab71844e9013dc269e5417ff3a330fb88b7 /ShellPkg/Application/Shell/Shell.h
parenta4f138a412b95b6db8f3109fbce744ecf186ff50 (diff)
downloadedk2-platforms-14810d6b644d367d4f195b3e953145a27493538c.tar.xz
ShellPkg: Fix memory leak when running Shell script.
When we run following script in Shell: " for %a run (1 200) echo %a memmap endfor " We may find memory leak in system. This patch free buffer in 'BufferToFreeList' to avoid this issue. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin <shumin.qiu@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19521 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ShellPkg/Application/Shell/Shell.h')
-rw-r--r--ShellPkg/Application/Shell/Shell.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/ShellPkg/Application/Shell/Shell.h b/ShellPkg/Application/Shell/Shell.h
index 57263204e3..351b94188e 100644
--- a/ShellPkg/Application/Shell/Shell.h
+++ b/ShellPkg/Application/Shell/Shell.h
@@ -382,5 +382,28 @@ TrimSpaces(
IN CHAR16 **String
);
+/**
+
+ Create a new buffer list and stores the old one to OldBufferList
+
+ @param OldBufferList The temporary list head used to store the nodes in BufferToFreeList.
+**/
+VOID
+SaveBufferList (
+ OUT LIST_ENTRY *OldBufferList
+ );
+
+/**
+ Restore previous nodes into BufferToFreeList .
+
+ @param OldBufferList The temporary list head used to store the nodes in BufferToFreeList.
+**/
+VOID
+RestoreBufferList (
+ IN OUT LIST_ENTRY *OldBufferList
+ );
+
+
+
#endif //_SHELL_INTERNAL_HEADER_