mirror of
https://github.com/reactos/reactos.git
synced 2024-10-06 17:35:07 +00:00
- Free the MDL on failure
- Use _SEH_YIELD svn path=/branches/aicom-network-fixes/; revision=35291
This commit is contained in:
parent
b50e9e3146
commit
8f5e892fbf
|
@ -864,17 +864,12 @@ NTSTATUS TdiSend
|
|||
MmProbeAndLockPages(Mdl, KernelMode, IoModifyAccess);
|
||||
} _SEH_HANDLE {
|
||||
AFD_DbgPrint(MIN_TRACE, ("MmProbeAndLockPages() failed.\n"));
|
||||
IoFreeMdl(Mdl);
|
||||
IoFreeIrp(*Irp);
|
||||
*Irp = NULL;
|
||||
Status = STATUS_INSUFFICIENT_RESOURCES;
|
||||
_SEH_YIELD(return STATUS_INSUFFICIENT_RESOURCES);
|
||||
} _SEH_END;
|
||||
|
||||
if( !NT_SUCCESS(Status) ) {
|
||||
IoFreeIrp(*Irp);
|
||||
*Irp = NULL;
|
||||
return Status;
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("AFD>>> Got an MDL: %x\n", Mdl));
|
||||
|
||||
TdiBuildSend(*Irp, /* I/O Request Packet */
|
||||
|
@ -952,17 +947,12 @@ NTSTATUS TdiReceive(
|
|||
AFD_DbgPrint(MIN_TRACE, ("probe and lock done\n"));
|
||||
} _SEH_HANDLE {
|
||||
AFD_DbgPrint(MIN_TRACE, ("MmProbeAndLockPages() failed.\n"));
|
||||
IoFreeMdl(Mdl);
|
||||
IoFreeIrp(*Irp);
|
||||
*Irp = NULL;
|
||||
Status = STATUS_INSUFFICIENT_RESOURCES;
|
||||
_SEH_YIELD(return STATUS_INSUFFICIENT_RESOURCES);
|
||||
} _SEH_END;
|
||||
|
||||
if( !NT_SUCCESS(Status) ) {
|
||||
IoFreeIrp(*Irp);
|
||||
*Irp = NULL;
|
||||
return Status;
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("AFD>>> Got an MDL: %x\n", Mdl));
|
||||
|
||||
TdiBuildReceive(*Irp, /* I/O Request Packet */
|
||||
|
@ -1055,6 +1045,7 @@ NTSTATUS TdiReceiveDatagram(
|
|||
MmProbeAndLockPages(Mdl, KernelMode, IoModifyAccess);
|
||||
} _SEH_HANDLE {
|
||||
AFD_DbgPrint(MIN_TRACE, ("MmProbeAndLockPages() failed.\n"));
|
||||
IoFreeMdl(Mdl);
|
||||
IoFreeIrp(*Irp);
|
||||
*Irp = NULL;
|
||||
_SEH_YIELD(return STATUS_INSUFFICIENT_RESOURCES);
|
||||
|
@ -1153,6 +1144,7 @@ NTSTATUS TdiSendDatagram(
|
|||
MmProbeAndLockPages(Mdl, KernelMode, IoModifyAccess);
|
||||
} _SEH_HANDLE {
|
||||
AFD_DbgPrint(MIN_TRACE, ("MmProbeAndLockPages() failed.\n"));
|
||||
IoFreeMdl(Mdl);
|
||||
IoFreeIrp(*Irp);
|
||||
*Irp = NULL;
|
||||
_SEH_YIELD(return STATUS_INSUFFICIENT_RESOURCES);
|
||||
|
|
Loading…
Reference in a new issue