From: TCY16 Date: Mon, 26 Sep 2022 10:14:17 +0000 (+0200) Subject: add @wcawijngaards' review comments X-Git-Tag: release-1.18.0rc1~35 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0b176750bd361e81120fd0d3b0757a8ed85c2234;p=thirdparty%2Funbound.git add @wcawijngaards' review comments --- diff --git a/util/data/msgreply.c b/util/data/msgreply.c index 3a5308c42..3360f3175 100644 --- a/util/data/msgreply.c +++ b/util/data/msgreply.c @@ -593,6 +593,7 @@ reply_info_parsedelete(struct reply_info* rep, struct alloc_cache* alloc) if (rep->reason_bogus_str_size) { free(rep->reason_bogus_str); } + free(rep); } int diff --git a/validator/validator.c b/validator/validator.c index 44e493292..f4c8242a8 100644 --- a/validator/validator.c +++ b/validator/validator.c @@ -2156,8 +2156,17 @@ processFinished(struct module_qstate* qstate, struct val_qstate* vq, size_t err_str_len = strlen(err_str); /* allocate space and store the error string and it's size*/ - vq->orig_msg->rep->reason_bogus_str = malloc(sizeof(char) * (err_str_len + 1)); - memcpy(vq->orig_msg->rep->reason_bogus_str, err_str, err_str_len + 1); + if (qstate->region) { + vq->orig_msg->rep->reason_bogus_str = regional_alloc( + qstate->region, + sizeof(char) * (err_str_len + 1)); + } else { + vq->orig_msg->rep->reason_bogus_str = malloc( + sizeof(char) * (err_str_len + 1)); + } + + memcpy(vq->orig_msg->rep->reason_bogus_str, + err_str, err_str_len + 1); vq->orig_msg->rep->reason_bogus_str_size = err_str_len; } free(err_str);