Currently both ReportOutput() implementations use AsciiStrCpyS() to copy from the log string to the intermediate output buffer. However, while this function is Safe, it ASSERTs when there's an error, which actually is not what is desired from the way the loop is wrapped. Needs to change to AsciiStrnCpyS(). Will post a patch to Mu Basecore.
Easy (2-line) patch is available in this commit: https://github.com/microsoft/mu_basecore/commit/c2e5d8a57219cf5af2fda148452ab061d6fb9670
Michael: please send this patch before Friday.
V1 patch on edk2 mailing list: https://edk2.groups.io/g/devel/message/60007
Merge at https://github.com/tianocore/edk2/pull/644