summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Library
diff options
context:
space:
mode:
authorRuiyu Ni <ruiyu.ni@intel.com>2018-03-01 14:33:43 +0800
committerRuiyu Ni <ruiyu.ni@intel.com>2018-03-02 13:41:33 +0800
commita7119c81528072b13e9664ce51f70b8f91f4d9e2 (patch)
treefeece9163c81cf6cd964101c4544a6099965b1c6 /MdeModulePkg/Library
parent79f84eb676982fd35e6089060f247c5e38d691dd (diff)
downloadedk2-a7119c81528072b13e9664ce51f70b8f91f4d9e2.tar.gz
edk2-a7119c81528072b13e9664ce51f70b8f91f4d9e2.tar.bz2
edk2-a7119c81528072b13e9664ce51f70b8f91f4d9e2.zip
MdeModulePkg/DebugLibReportStatusCode: Fix hang if format is too long
The previous commit 137ed15511e2045a7333e33ae7f1e873ce1961dd * MdeModulePkg/DebugLib: Print partial when format string is too long copies partial format string to DEBUG_INFO buffer but when parsing the format modifier, the original format string is still used. The patch fixes this issue. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
Diffstat (limited to 'MdeModulePkg/Library')
-rw-r--r--MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/DebugLib.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/DebugLib.c b/MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/DebugLib.c
index 16a1d206fb..96c9b30987 100644
--- a/MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/DebugLib.c
+++ b/MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/DebugLib.c
@@ -126,6 +126,11 @@ DebugPrint (
// Here we will process the variable arguments and pack them in this area.
//
VA_START (VaListMarker, Format);
+
+ //
+ // Use the actual format string.
+ //
+ Format = FormatString;
for (; *Format != '\0'; Format++) {
//
// Only format with prefix % is processed.