diff --git a/MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiLibStandaloneMm.c b/MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiLibStandaloneMm.c index 2fe8ee7dc0..ba16116691 100644 --- a/MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiLibStandaloneMm.c +++ b/MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiLibStandaloneMm.c @@ -57,7 +57,7 @@ VarCheckHiiLibReceiveHiiBinHandler ( // // If input is invalid, stop processing this SMI // - if ((CommBuffer == NULL) || (CommBufferSize == NULL)) { + if ((DispatchHandle == NULL) || (CommBuffer == NULL) || (CommBufferSize == NULL)) { return EFI_INVALID_PARAMETER; } @@ -75,16 +75,16 @@ VarCheckHiiLibReceiveHiiBinHandler ( } CopyMem (mMmReceivedVarCheckHiiBin, CommBuffer, mMmReceivedVarCheckHiiBinSize); - if (DispatchHandle != NULL) { - Status = gMmst->MmiHandlerUnRegister (DispatchHandle); - } + + Status = gMmst->MmiHandlerUnRegister (DispatchHandle); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "%a: Failed to unregister handler - %r!\n", __func__, Status)); - } else { - DEBUG ((DEBUG_INFO, "%a: Handler unregistered successfully.\n", __func__)); + return Status; } + DEBUG ((DEBUG_INFO, "%a: Handler unregistered successfully.\n", __func__)); + return EFI_SUCCESS; }