From: W.C.A. Wijngaards Date: Mon, 13 May 2019 13:39:59 +0000 (+0200) Subject: - Attempt to fix malformed tcp response. X-Git-Tag: release-1.9.2rc1~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a08fe8ca609b651c8d8c8379780aad508d492421;p=thirdparty%2Funbound.git - Attempt to fix malformed tcp response. --- diff --git a/doc/Changelog b/doc/Changelog index a08eb8a32..862f36937 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -2,6 +2,7 @@ - Squelch log messages from tcp send about connection reset by peer. They can be enabled with verbosity at higher values for diagnosing network connectivity issues. + - Attempt to fix malformed tcp response. 9 May 2019: Wouter - Revert fix for oss-fuzz, error is in that build script that diff --git a/services/mesh.c b/services/mesh.c index d96289e3a..3dda0f6c6 100644 --- a/services/mesh.c +++ b/services/mesh.c @@ -1192,12 +1192,16 @@ void mesh_query_done(struct mesh_state* mstate) comm_point_drop_reply(&r->query_reply); else { struct sldns_buffer* r_buffer = r->query_reply.c->buffer; - if(r->query_reply.c->tcp_req_info) + if(r->query_reply.c->tcp_req_info) { r_buffer = r->query_reply.c->tcp_req_info->spool_buffer; + prev_buffer = NULL; + } mesh_send_reply(mstate, mstate->s.return_rcode, rep, r, r_buffer, prev, prev_buffer); - if(r->query_reply.c->tcp_req_info) + if(r->query_reply.c->tcp_req_info) { tcp_req_info_remove_mesh_state(r->query_reply.c->tcp_req_info, mstate); + r_buffer = NULL; + } prev = r; prev_buffer = r_buffer; }