diff options
author | hhuan13 <hhuan13@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-12-08 03:51:31 +0000 |
---|---|---|
committer | hhuan13 <hhuan13@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-12-08 03:51:31 +0000 |
commit | e50ca7c59d9a1888a0f4719ddf6b9521833d22fc (patch) | |
tree | 61b2f5abcadf50b15022811de8875b2f7d605780 | |
parent | c985e31f606392c59f7f4a7ab3e6a8b897cc2262 (diff) | |
download | edk2-e50ca7c59d9a1888a0f4719ddf6b9521833d22fc.tar.gz |
Fixed a bug: when underlayer receives much more data, return EFI_BUFFER_TOO_SMALL.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010@11131 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | Nt32Pkg/SnpNt32Dxe/SnpNt32.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Nt32Pkg/SnpNt32Dxe/SnpNt32.c b/Nt32Pkg/SnpNt32Dxe/SnpNt32.c index be9eb78fb5..57dabb67b1 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;
}
/**
|