diff --git a/NetworkPkg/MnpDxe/MnpConfig.c b/NetworkPkg/MnpDxe/MnpConfig.c index d0e3f823d279..8811d9e3e449 100644 --- a/NetworkPkg/MnpDxe/MnpConfig.c +++ b/NetworkPkg/MnpDxe/MnpConfig.c @@ -1305,6 +1305,10 @@ MnpStop ( MnpDeviceData = MnpServiceData->MnpDeviceData; ASSERT (MnpDeviceData->ConfiguredChildrenNumber > 0); + if (MnpDeviceData->ConfiguredChildrenNumber <= 0) { + return EFI_OUT_OF_RESOURCES; + } + // // Configure the receive filters. // diff --git a/NetworkPkg/MnpDxe/MnpIo.c b/NetworkPkg/MnpDxe/MnpIo.c index 087c879c46a3..1ac1f2ced2fc 100644 --- a/NetworkPkg/MnpDxe/MnpIo.c +++ b/NetworkPkg/MnpDxe/MnpIo.c @@ -325,6 +325,9 @@ MnpInstanceDeliverPacket ( } ASSERT (Instance->RcvdPacketQueueSize != 0); + if (Instance->RcvdPacketQueueSize <= 0) { + return EFI_OUT_OF_RESOURCES; + } RxDataWrap = NET_LIST_HEAD (&Instance->RcvdPacketQueue, MNP_RXDATA_WRAP, WrapEntry); if (RxDataWrap->Nbuf->RefCnt > 2) {