diff options
author | Qiu Shumin <shumin.qiu@intel.com> | 2015-12-24 08:14:51 +0000 |
---|---|---|
committer | shenshushi <shenshushi@Edk2> | 2015-12-24 08:14:51 +0000 |
commit | 14810d6b644d367d4f195b3e953145a27493538c (patch) | |
tree | 39802ab71844e9013dc269e5417ff3a330fb88b7 /ShellPkg/Application/Shell/Shell.h | |
parent | a4f138a412b95b6db8f3109fbce744ecf186ff50 (diff) | |
download | edk2-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.h | 23 |
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_
|