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
This commit is contained in:
hhuan13 2010-12-08 04:42:40 +00:00
parent fe295078f2
commit aaf779a7ec
1 changed files with 4 additions and 1 deletions

View File

@ -995,6 +995,9 @@ SnpNt32Receive (
SNPNT32_INSTANCE_DATA *Instance; SNPNT32_INSTANCE_DATA *Instance;
SNPNT32_GLOBAL_DATA *GlobalData; SNPNT32_GLOBAL_DATA *GlobalData;
INT32 ReturnValue; INT32 ReturnValue;
UINTN BufSize;
BufSize = *BuffSize;
Instance = SNP_NT32_INSTANCE_DATA_FROM_SNP_THIS (This); Instance = SNP_NT32_INSTANCE_DATA_FROM_SNP_THIS (This);
@ -1042,7 +1045,7 @@ SnpNt32Receive (
*Protocol = NTOHS (*((UINT16 *) (((UINT8 *) Buffer) + 12))); *Protocol = NTOHS (*((UINT16 *) (((UINT8 *) Buffer) + 12)));
} }
return EFI_SUCCESS; return (*BuffSize <= BufSize) ? EFI_SUCCESS : EFI_BUFFER_TOO_SMALL;
} }
/** /**