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,