summaryrefslogtreecommitdiffstats
path: root/source/librpc/rpc/dcerpc.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-11-25 05:25:37 +0000
committerAndrew Tridgell <tridge@samba.org>2005-11-25 05:25:37 +0000
commit3dd241ccef2d2b7ac6c72cbd6cf17ae5d68500db (patch)
tree08e17004a3c39dd7175ae19e0bb5acff020d4291 /source/librpc/rpc/dcerpc.c
parent2b4d9643be36624cf5f6ffd86481e4f8fd84fdcb (diff)
downloadsamba-3dd241ccef2d2b7ac6c72cbd6cf17ae5d68500db.tar.gz
samba-3dd241ccef2d2b7ac6c72cbd6cf17ae5d68500db.tar.xz
samba-3dd241ccef2d2b7ac6c72cbd6cf17ae5d68500db.zip
r11889: added support for dcerpc ncacn_np over SMB2. You use it by giving the
flag 'smb2' in the dcerpc binding string. This gives a pretty good test to the new SMB2 trans call.
Diffstat (limited to 'source/librpc/rpc/dcerpc.c')
-rw-r--r--source/librpc/rpc/dcerpc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/librpc/rpc/dcerpc.c b/source/librpc/rpc/dcerpc.c
index b485864c7b5..220b061f3ca 100644
--- a/source/librpc/rpc/dcerpc.c
+++ b/source/librpc/rpc/dcerpc.c
@@ -550,11 +550,16 @@ static void dcerpc_recv_data(struct dcerpc_connection *conn, DATA_BLOB *blob, NT
{
struct ncacn_packet pkt;
+ if (NT_STATUS_IS_OK(status) && blob->length == 0) {
+ status = NT_STATUS_UNEXPECTED_NETWORK_ERROR;
+ }
+
/* the transport may be telling us of a severe error, such as
a dropped socket */
if (!NT_STATUS_IS_OK(status)) {
data_blob_free(blob);
dcerpc_connection_dead(conn, status);
+ return;
}
/* parse the basic packet to work out what type of response this is */