break;\r
\r
case EFI_IFR_TYPE_STRING:\r
- String = HiiGetString (ConfigAccess->ThunkContext->UefiHiiHandle, Value->string, NULL);\r
- ASSERT (String != NULL);\r
+ if (Value->string == 0) {\r
+ Size = 0;\r
+ } else {\r
+ String = HiiGetString (ConfigAccess->ThunkContext->UefiHiiHandle, Value->string, NULL);\r
+ ASSERT (String != NULL);\r
\r
- Size = StrSize (String);\r
+ Size = StrSize (String);\r
+ }\r
break;\r
\r
default:\r
break;\r
\r
case EFI_IFR_TYPE_STRING:\r
- ASSERT (String != NULL);\r
- StrCpy ((CHAR16 *) &IfrDataEntry->Data, String);\r
- FreePool (String);\r
+ if (Size != 0) {\r
+ ASSERT (String != NULL);\r
+ StrCpy ((CHAR16 *) &IfrDataEntry->Data, String);\r
+ FreePool (String);\r
+ }\r
break;\r
default:\r
ASSERT (FALSE);\r