From: George Thessalonikefs Date: Fri, 28 Jul 2023 14:55:51 +0000 (+0200) Subject: - Review for #790: Address Wouter's comments. X-Git-Tag: release-1.18.0rc1~26 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c15cfb4bd933b993dbf2a6d3eaba4dba283e7e98;p=thirdparty%2Funbound.git - Review for #790: Address Wouter's comments. --- diff --git a/cachedb/cachedb.c b/cachedb/cachedb.c index 7e26b7c22..f10005c3d 100644 --- a/cachedb/cachedb.c +++ b/cachedb/cachedb.c @@ -558,22 +558,20 @@ parse_data(struct module_qstate* qstate, struct sldns_buffer* buf) return 0; /* We find the EDE in the in-list after parsing */ - if (qstate->env->cfg->ede && (ede = edns_opt_list_find(edns.opt_list_in, LDNS_EDNS_EDE))) { - if (ede->opt_len >= 2) { + if(qstate->env->cfg->ede && + (ede = edns_opt_list_find(edns.opt_list_in, LDNS_EDNS_EDE))) { + if(ede->opt_len >= 2) { qstate->return_msg->rep->reason_bogus = sldns_read_uint16(ede->opt_data); } - /* allocate space and store the error string and it's size */ - if (ede->opt_len > 2) { + if(ede->opt_len > 2) { size_t ede_len = ede->opt_len - 2; - qstate->return_msg->rep->reason_bogus_str = regional_alloc( - qstate->region, sizeof(char) * (ede_len)); - + qstate->region, sizeof(char) * (ede_len+1)); memcpy(qstate->return_msg->rep->reason_bogus_str, ede->opt_data+2, ede_len); - + qstate->return_msg->rep->reason_bogus_str[ede_len] = 0; qstate->return_msg->rep->reason_bogus_str_size = ede_len; } } diff --git a/iterator/iterator.c b/iterator/iterator.c index e1c07fa42..f30616ddc 100644 --- a/iterator/iterator.c +++ b/iterator/iterator.c @@ -3811,6 +3811,7 @@ processFinished(struct module_qstate* qstate, struct iter_qstate* iq, iq->response->rep->flags |= BIT_QR; /* explicitly set the EDE string size to 0 */ + iq->response->rep->reason_bogus_str = NULL; iq->response->rep->reason_bogus_str_size = 0; /* we have finished processing this query */