Sync the bug that list node is free before it is removed from the list. That made the list invalid.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4641 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff
2008-01-29 08:47:42 +00:00
parent 7a372cf045
commit 4f6e31e47b
6 changed files with 219 additions and 163 deletions

View File

@ -214,16 +214,12 @@ SockDestroyChild (
**/
SOCKET *
SockCreateChild (
IN SOCK_INIT_DATA *SockInitData,
IN VOID *ProtoData,
IN UINT32 Len
IN SOCK_INIT_DATA *SockInitData
)
{
SOCKET *Sock;
EFI_STATUS Status;
ASSERT (ProtoData && (Len <= PROTO_RESERVED_LEN));
//
// create a new socket
//
@ -236,15 +232,6 @@ SockCreateChild (
return NULL;
}
//
// Open the
//
//
// copy the protodata into socket
//
NetCopyMem (Sock->ProtoReserved, ProtoData, Len);
Status = NET_TRYLOCK (&(Sock->Lock));
if (EFI_ERROR (Status)) {