Properly handle access violation copying from userland.

svn path=/trunk/; revision=30368
This commit is contained in:
Art Yerkes 2007-11-11 22:21:37 +00:00
parent 9bcd750116
commit 1b2108aee2

View file

@ -559,6 +559,11 @@ AfdPacketSocketReadData(PDEVICE_OBJECT DeviceObject, PIRP Irp,
RecvReq->AddressLength,
TRUE, TRUE );
if( !RecvReq->BufferArray ) { /* access violation in userspace */
return UnlockAndMaybeComplete
( FCB, STATUS_ACCESS_VIOLATION, Irp, 0, NULL, FALSE );
}
if( !IsListEmpty( &FCB->DatagramList ) ) {
ListEntry = RemoveHeadList( &FCB->DatagramList );
DatagramRecv = CONTAINING_RECORD