From: hhuan13 Date: Wed, 8 Dec 2010 04:42:40 +0000 (+0000) Subject: Fixed a bug: when underlayer receives much more data, return EFI_BUFFER_TOO_SMALL. X-Git-Tag: edk2-stable201903~15343 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=aaf779a7ec7890520d57fd5bb4cc40c826dd42e5 Fixed a bug: when underlayer receives much more data, return EFI_BUFFER_TOO_SMALL. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11132 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/Nt32Pkg/SnpNt32Dxe/SnpNt32.c b/Nt32Pkg/SnpNt32Dxe/SnpNt32.c index 46bc8768f0..86414696c4 100644 --- a/Nt32Pkg/SnpNt32Dxe/SnpNt32.c +++ b/Nt32Pkg/SnpNt32Dxe/SnpNt32.c @@ -995,6 +995,9 @@ SnpNt32Receive ( SNPNT32_INSTANCE_DATA *Instance; SNPNT32_GLOBAL_DATA *GlobalData; INT32 ReturnValue; + UINTN BufSize; + + BufSize = *BuffSize; Instance = SNP_NT32_INSTANCE_DATA_FROM_SNP_THIS (This); @@ -1042,7 +1045,7 @@ SnpNt32Receive ( *Protocol = NTOHS (*((UINT16 *) (((UINT8 *) Buffer) + 12))); } - return EFI_SUCCESS; + return (*BuffSize <= BufSize) ? EFI_SUCCESS : EFI_BUFFER_TOO_SMALL; } /**