From: Ralph Dolmans Date: Wed, 24 Aug 2016 09:18:38 +0000 (+0000) Subject: Fix #820: set sldns_str2wire_rr_buf() dual meaning len parameter X-Git-Tag: release-1.5.10~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3bf062aa2d6e7034968b1b977d0ebdcc7c1aa96c;p=thirdparty%2Funbound.git Fix #820: set sldns_str2wire_rr_buf() dual meaning len parameter in each iteration in find_tag_datas(). git-svn-id: file:///svn/unbound/trunk@3832 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/doc/Changelog b/doc/Changelog index bf5264231..02310848e 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,7 @@ +24 August 2016: Ralph + - Fix #820: set sldns_str2wire_rr_buf() dual meaning len parameter + in each iteration in find_tag_datas(). + 23 August 2016: Wouter - Fix #804: unbound stops responding after outage. Fixes queries that attempt to wait for an empty list of subqueries. diff --git a/services/localzone.c b/services/localzone.c index a2948a5eb..aeea2c6f5 100644 --- a/services/localzone.c +++ b/services/localzone.c @@ -1186,10 +1186,11 @@ find_tag_datas(struct query_info* qinfo, struct config_strlist* list, struct config_strlist* p; char buf[65536]; uint8_t rr[LDNS_RR_BUF_SIZE]; - size_t len = sizeof(rr); + size_t len; int res; struct packed_rrset_data* d; for(p=list; p; p=p->next) { + len = sizeof(rr); /* does this element match the type? */ snprintf(buf, sizeof(buf), ". %s", p->str); res = sldns_str2wire_rr_buf(buf, rr, &len, NULL, 3600,