TranContext = IrpSp->FileObject->FsContext;
if (!TranContext) {
TI_DbgPrint(MID_TRACE, ("Bad transport context.\n"));
- Status = STATUS_INVALID_CONNECTION;
+ Status = STATUS_INVALID_PARAMETER;
goto done;
}
Connection = (PCONNECTION_ENDPOINT)TranContext->Handle.ConnectionContext;
if (!Connection) {
TI_DbgPrint(MID_TRACE, ("No connection endpoint file object.\n"));
- Status = STATUS_INVALID_CONNECTION;
+ Status = STATUS_INVALID_PARAMETER;
goto done;
}
TranContext = IrpSp->FileObject->FsContext;
if (!TranContext) {
TI_DbgPrint(MID_TRACE, ("Bad transport context.\n"));
- Status = STATUS_INVALID_CONNECTION;
+ Status = STATUS_INVALID_PARAMETER;
goto done;
}
Connection = (PCONNECTION_ENDPOINT)TranContext->Handle.ConnectionContext;
if (!Connection) {
TI_DbgPrint(MID_TRACE, ("No connection endpoint file object.\n"));
- Status = STATUS_INVALID_CONNECTION;
+ Status = STATUS_INVALID_PARAMETER;
goto done;
}
if (TranContext == NULL)
{
TI_DbgPrint(MID_TRACE, ("Bad transport context.\n"));
- Status = STATUS_INVALID_CONNECTION;
+ Status = STATUS_INVALID_PARAMETER;
goto done;
}
if (Connection == NULL)
{
TI_DbgPrint(MID_TRACE, ("No connection endpoint file object.\n"));
- Status = STATUS_INVALID_CONNECTION;
+ Status = STATUS_INVALID_PARAMETER;
goto done;
}
TranContext = IrpSp->FileObject->FsContext;
if (!TranContext) {
TI_DbgPrint(MID_TRACE, ("Bad transport context.\n"));
- return STATUS_INVALID_CONNECTION;
+ return STATUS_INVALID_PARAMETER;
}
switch (Parameters->QueryType)
PTA_IP_ADDRESS Address;
PCONNECTION_ENDPOINT Endpoint = NULL;
+
+ if (MmGetMdlByteCount(Irp->MdlAddress) <
+ (FIELD_OFFSET(TDI_ADDRESS_INFO, Address.Address[0].Address) +
+ sizeof(TDI_ADDRESS_IP))) {
+ TI_DbgPrint(MID_TRACE, ("MDL buffer too small.\n"));
+ return STATUS_BUFFER_TOO_SMALL;
+ }
+
AddressInfo = (PTDI_ADDRESS_INFO)MmGetSystemAddressForMdl(Irp->MdlAddress);
Address = (PTA_IP_ADDRESS)&AddressInfo->Address;
return STATUS_INVALID_PARAMETER;
}
- if (MmGetMdlByteCount(Irp->MdlAddress) <
- (FIELD_OFFSET(TDI_ADDRESS_INFO, Address.Address[0].Address) +
- sizeof(TDI_ADDRESS_IP))) {
- TI_DbgPrint(MID_TRACE, ("MDL buffer too small.\n"));
- return STATUS_BUFFER_OVERFLOW;
- }
-
return STATUS_SUCCESS;
}
PADDRESS_FILE AddrFile;
PCONNECTION_ENDPOINT Endpoint = NULL;
+ if (MmGetMdlByteCount(Irp->MdlAddress) <
+ (FIELD_OFFSET(TDI_CONNECTION_INFORMATION, RemoteAddress) +
+ sizeof(PVOID))) {
+ TI_DbgPrint(MID_TRACE, ("MDL buffer too small (ptr).\n"));
+ return STATUS_BUFFER_TOO_SMALL;
+ }
+
AddressInfo = (PTDI_CONNECTION_INFORMATION)
MmGetSystemAddressForMdl(Irp->MdlAddress);
return STATUS_INVALID_PARAMETER;
}
- if (MmGetMdlByteCount(Irp->MdlAddress) <
- (FIELD_OFFSET(TDI_CONNECTION_INFORMATION, RemoteAddress) +
- sizeof(PVOID))) {
- TI_DbgPrint(MID_TRACE, ("MDL buffer too small (ptr).\n"));
- return STATUS_BUFFER_OVERFLOW;
- }
-
return TCPGetSockAddress( Endpoint, AddressInfo->RemoteAddress, TRUE );
}
}
if (TranContext == NULL)
{
TI_DbgPrint(MID_TRACE, ("Bad transport context.\n"));
- Status = STATUS_INVALID_CONNECTION;
+ Status = STATUS_INVALID_PARAMETER;
goto done;
}
if (TranContext->Handle.ConnectionContext == NULL)
{
TI_DbgPrint(MID_TRACE, ("No connection endpoint file object.\n"));
- Status = STATUS_INVALID_CONNECTION;
+ Status = STATUS_INVALID_PARAMETER;
goto done;
}
if (TranContext == NULL)
{
TI_DbgPrint(MID_TRACE, ("Bad transport context.\n"));
- Status = STATUS_INVALID_CONNECTION;
+ Status = STATUS_INVALID_PARAMETER;
goto done;
}
if (TranContext == NULL)
{
TI_DbgPrint(MID_TRACE, ("Bad transport context.\n"));
- Status = STATUS_INVALID_CONNECTION;
+ Status = STATUS_INVALID_PARAMETER;
goto done;
}
if (TranContext->Handle.ConnectionContext == NULL)
{
TI_DbgPrint(MID_TRACE, ("No connection endpoint file object.\n"));
- Status = STATUS_INVALID_CONNECTION;
+ Status = STATUS_INVALID_PARAMETER;
goto done;
}
if (TranContext == NULL)
{
TI_DbgPrint(MID_TRACE, ("Bad transport context.\n"));
- Status = STATUS_INVALID_CONNECTION;
+ Status = STATUS_INVALID_PARAMETER;
goto done;
}