Correct the convert hex string to decimal value logic.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16150 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/Hotkey.c b/IntelFrameworkModulePkg/Universal/BdsDxe/Hotkey.c
index 63de0d5..e061991 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/Hotkey.c
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/Hotkey.c
@@ -432,9 +432,9 @@
   *OptionNumber = 0;

   for (Index = 3; Index < 7; Index++) {

     if ((Name[Index] >= L'0') && (Name[Index] <= L'9')) {

-      *OptionNumber = *OptionNumber * 10 + Name[Index] - L'0';

+      *OptionNumber = *OptionNumber * 16 + Name[Index] - L'0';

     } else if ((Name[Index] >= L'A') && (Name[Index] <= L'F')) {

-      *OptionNumber = *OptionNumber * 10 + Name[Index] - L'A';

+      *OptionNumber = *OptionNumber * 16 + Name[Index] - L'A' + 10;

     } else {

       return FALSE;

     }