summaryrefslogtreecommitdiffstats
path: root/source/libcli
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-12-19 21:19:14 +0000
committerStefan Metzmacher <metze@samba.org>2005-12-19 21:19:14 +0000
commit58495c10ab889cc2c84e86e7c22ba0b9dfdfa6b7 (patch)
treeff8d2718dbfdc37be1edb8be6a9ce42b7a8580a0 /source/libcli
parenta34825315f9b1ddc371d332f23ad3eb148e6ab9c (diff)
downloadsamba-58495c10ab889cc2c84e86e7c22ba0b9dfdfa6b7.tar.gz
samba-58495c10ab889cc2c84e86e7c22ba0b9dfdfa6b7.tar.xz
samba-58495c10ab889cc2c84e86e7c22ba0b9dfdfa6b7.zip
r12370: - if we got a reply without a pending request, mark the socket as dead
instead of segfaulting metze
Diffstat (limited to 'source/libcli')
-rw-r--r--source/libcli/wrepl/winsrepl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/libcli/wrepl/winsrepl.c b/source/libcli/wrepl/winsrepl.c
index ead83768344..b67138f1dd2 100644
--- a/source/libcli/wrepl/winsrepl.c
+++ b/source/libcli/wrepl/winsrepl.c
@@ -84,6 +84,11 @@ static NTSTATUS wrepl_finish_recv(void *private, DATA_BLOB packet_blob_in)
struct wrepl_request *req = wrepl_socket->recv_queue;
DATA_BLOB blob;
+ if (!req) {
+ DEBUG(1,("Received unexpected WINS packet of length %u!\n", packet_blob_in.length));
+ return NT_STATUS_INVALID_NETWORK_RESPONSE;
+ }
+
req->packet = talloc(req, struct wrepl_packet);
NT_STATUS_HAVE_NO_MEMORY(req->packet);