summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-02-17 09:24:34 -0800
committerJeremy Allison <jra@samba.org>2010-02-17 09:24:34 -0800
commit936828de71023d90aaec6c1dba84052246bbad11 (patch)
treed8b3a3715a81a5e7d86d2e95b8729351634d8d93
parent968bd16b4908611c6f745154124588b92e3c0062 (diff)
downloadsamba-936828de71023d90aaec6c1dba84052246bbad11.tar.gz
samba-936828de71023d90aaec6c1dba84052246bbad11.tar.bz2
samba-936828de71023d90aaec6c1dba84052246bbad11.zip
Fix commit d07cd37b993d3c9beded20323174633b806196b5
Which was: tsocket/bsd: fix bug #7115 FreeBSD includes the UDP header in FIONREAD Metze, this has to have been wrong - you are throwing away the talloc_realloc pointer returned. Also no error checking. Please review. Thank goodness for gcc warnings :-). Jeremy.
-rw-r--r--lib/tsocket/tsocket_bsd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/tsocket/tsocket_bsd.c b/lib/tsocket/tsocket_bsd.c
index 9027bc9711..9d5a3290d9 100644
--- a/lib/tsocket/tsocket_bsd.c
+++ b/lib/tsocket/tsocket_bsd.c
@@ -887,8 +887,11 @@ static void tdgram_bsd_recvfrom_handler(void *private_data)
* some systems too much bytes in tsocket_bsd_pending()
* the return value includes some IP/UDP header bytes
*/
+ state->buf = talloc_realloc(state, state->buf, uint8_t, ret);
+ if (tevent_req_nomem(state->buf, req)) {
+ return;
+ }
state->len = ret;
- talloc_realloc(state, state->buf, uint8_t, ret);
tevent_req_done(req);
}