Revision: 18239
          http://sourceforge.net/p/edk2/code/18239
Author:   ydong10
Date:     2015-08-20 00:22:16 +0000 (Thu, 20 Aug 2015)
Log Message:
-----------
Validate the input namespace field to avoid assert.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <[email protected]>
Reviewed-by: Liming Gao <[email protected]>

Modified Paths:
--------------
    trunk/edk2/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigKeywordHandler.c

Modified: 
trunk/edk2/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigKeywordHandler.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigKeywordHandler.c     
2015-08-19 12:12:59 UTC (rev 18238)
+++ trunk/edk2/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigKeywordHandler.c     
2015-08-20 00:22:16 UTC (rev 18239)
@@ -2850,8 +2850,17 @@
     Status = ExtractNameSpace (StringPtr, &NameSpace, &NextStringPtr);
     if (EFI_ERROR (Status)) {
       *ProgressErr = KEYWORD_HANDLER_MALFORMED_STRING;
-      return Status;
+      goto Done;
     }
+    //
+    // 1.1 Check whether the input namespace is valid.
+    //
+    if (AsciiStrnCmp(NameSpace, UEFI_CONFIG_LANG, AsciiStrLen 
(UEFI_CONFIG_LANG)) != 0) {
+      *ProgressErr = KEYWORD_HANDLER_UNDEFINED_PROCESSING_ERROR;
+      Status = EFI_INVALID_PARAMETER;
+      goto Done;
+    }
+
     StringPtr = NextStringPtr;
 
     //
@@ -3124,7 +3133,14 @@
     *ProgressErr = KEYWORD_HANDLER_NAMESPACE_ID_NOT_FOUND;
     return Status;
   }
-
+  //
+  // 1.1 Check whether the input namespace is valid.
+  //
+  if (AsciiStrnCmp(NameSpace, UEFI_CONFIG_LANG, AsciiStrLen 
(UEFI_CONFIG_LANG)) != 0) {
+    *ProgressErr = KEYWORD_HANDLER_UNDEFINED_PROCESSING_ERROR;
+    return EFI_INVALID_PARAMETER;
+  }
+  
   if (KeywordString != NULL) {
     //
     // Use temp string to avoid changing input string buffer.


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to