- Fix incorrect cleanup after an allocation failure for
a delegation point. Thanks to Qifan Zhang, Palo Alto
Networks, for the report.
+ - Fix that after malloc failure in find_tag_datas, the
+ local_alias is cleaned up. Thanks to Qifan Zhang, Palo
+ Alto Networks, for the report.
15 June 2026: Wouter
- Fix to add `max-transfer-size` and `max-transfer-time` that
return 0; /* out of memory */
qinfo->local_alias->rrset =
regional_alloc_init(temp, r, sizeof(*r));
- if(!qinfo->local_alias->rrset)
+ if(!qinfo->local_alias->rrset) {
+ qinfo->local_alias = NULL;
return 0; /* out of memory */
+ }
}
return result;
}
sldns_buffer_write(buf, &flags, sizeof(uint16_t));
sldns_buffer_write(buf, &flags, sizeof(uint16_t));
if(qinfo) {
- const uint8_t* qname = qinfo->local_alias ?
+ const uint8_t* qname =
+ (qinfo->local_alias && qinfo->local_alias->rrset) ?
qinfo->local_alias->rrset->rk.dname : qinfo->qname;
- size_t qname_len = qinfo->local_alias ?
+ size_t qname_len =
+ (qinfo->local_alias && qinfo->local_alias->rrset) ?
qinfo->local_alias->rrset->rk.dname_len :
qinfo->qname_len;
if(sldns_buffer_current(buf) == qname)