+\r
+Done:\r
+\r
+ //\r
+ // Free the memory allocate from HiiGetString\r
+ //\r
+ ListIndex = 0;\r
+ while (DpParamList[ListIndex].Name != NULL) {\r
+ FreePool (DpParamList[ListIndex].Name);\r
+ ListIndex ++;\r
+ } \r
+ FreePool (DpParamList);\r
+\r
+ SafeFreePool (StringDpOptionQh);\r
+ SafeFreePool (StringDpOptionLh);\r
+ SafeFreePool (StringDpOptionUh);\r
+ SafeFreePool (StringDpOptionLv);\r
+ SafeFreePool (StringDpOptionUs);\r
+ SafeFreePool (StringDpOptionLs);\r
+ SafeFreePool (StringDpOptionUa);\r
+ SafeFreePool (StringDpOptionUr);\r
+ SafeFreePool (StringDpOptionUt);\r
+ SafeFreePool (StringDpOptionUp);\r
+ SafeFreePool (StringDpOptionLx);\r
+ SafeFreePool (StringDpOptionLn);\r
+ SafeFreePool (StringDpOptionLt);\r
+ SafeFreePool (StringDpOptionLi);\r
+ SafeFreePool (StringDpOptionLc);\r
+ SafeFreePool (StringPtr);\r
+ SafeFreePool (mPrintTokenBuffer);\r
+\r
+ if (ParamPackage != NULL) {\r
+ ShellCommandLineFreeVarList (ParamPackage);\r
+ }\r
+ if (CustomCumulativeData != NULL) {\r
+ SafeFreePool (CustomCumulativeData->Name);\r
+ }\r
+ SafeFreePool (CustomCumulativeData);\r
+\r