From: Wouter Wijngaards Date: Thu, 15 Sep 2011 15:35:04 +0000 (+0000) Subject: fix memleak and add edns section when 1480 probe. X-Git-Tag: release-1.4.14rc1~74 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=365f87a4a40222796b3a4d306f10b7032b809c9b;p=thirdparty%2Funbound.git fix memleak and add edns section when 1480 probe. git-svn-id: file:///svn/unbound/trunk@2493 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/services/outside_network.c b/services/outside_network.c index b7bc5ff75..5896b105a 100644 --- a/services/outside_network.c +++ b/services/outside_network.c @@ -1199,6 +1199,7 @@ serviced_delete(struct serviced_query* sq) if(sq->status == serviced_query_UDP_EDNS || sq->status == serviced_query_UDP || sq->status == serviced_query_PROBE_EDNS || + sq->status == serviced_query_UDP_EDNS_FRAG || sq->status == serviced_query_UDP_EDNS_fallback) { struct pending* p = (struct pending*)sq->pending; if(p->pc) @@ -1336,7 +1337,8 @@ serviced_udp_send(struct serviced_query* sq, ldns_buffer* buff) sq->status = serviced_query_UDP; } } - serviced_encode(sq, buff, sq->status == serviced_query_UDP_EDNS); + serviced_encode(sq, buff, (sq->status == serviced_query_UDP_EDNS) || + (sq->status == serviced_query_UDP_EDNS_FRAG)); sq->last_sent_time = *sq->outnet->now_tv; sq->edns_lame_known = (int)edns_lame_known; verbose(VERB_ALGO, "serviced query UDP timeout=%d msec", rtt); @@ -1893,6 +1895,7 @@ serviced_get_mem(struct serviced_query* sq) if(sq->status == serviced_query_UDP_EDNS || sq->status == serviced_query_UDP || sq->status == serviced_query_PROBE_EDNS || + sq->status == serviced_query_UDP_EDNS_FRAG || sq->status == serviced_query_UDP_EDNS_fallback) { s += sizeof(struct pending); s += comm_timer_get_mem(NULL);