From 43e5b94448a8a4a1f772901433f8c30fd95809ed Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Thu, 19 Sep 2013 11:18:32 -0700 Subject: [PATCH] libcli: continue to read from the socket even if the size is 0 This is an issue found by Codenomicon, with a malicious packet with 0 bytes UDP payload we will continiously be looping trying to react from the socket event and continiously do nothing as we will bail out thinking that we had a memory allocation error. Original fix comes from Volker Lendecke Signed-off-by: Matthieu Patou Fix bug #10158 - netbios related samba process consume 100% CPU. Autobuild-User(v4-0-test): Karolin Seeger Autobuild-Date(v4-0-test): Fri Sep 20 11:05:42 CEST 2013 on sn-devel-104 --- source4/libcli/dgram/dgramsocket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source4/libcli/dgram/dgramsocket.c b/source4/libcli/dgram/dgramsocket.c index 3f06dc72bd1..cd6d3e4c745 100644 --- a/source4/libcli/dgram/dgramsocket.c +++ b/source4/libcli/dgram/dgramsocket.c @@ -48,7 +48,7 @@ static void dgm_socket_recv(struct nbt_dgram_socket *dgmsock) } blob = data_blob_talloc(tmp_ctx, NULL, dsize); - if (blob.data == NULL) { + if ((dsize != 0) && (blob.data == NULL)) { talloc_free(tmp_ctx); return; } -- 2.11.4.GIT