diff options
author | Jeremy Allison <jra@samba.org> | 2010-02-17 09:24:34 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2010-02-17 09:24:34 -0800 |
commit | 936828de71023d90aaec6c1dba84052246bbad11 (patch) | |
tree | d8b3a3715a81a5e7d86d2e95b8729351634d8d93 | |
parent | 968bd16b4908611c6f745154124588b92e3c0062 (diff) | |
download | samba-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.c | 5 |
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); } |