]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Review for #790: Address Wouter's comments.
authorGeorge Thessalonikefs <george@nlnetlabs.nl>
Fri, 28 Jul 2023 14:55:51 +0000 (16:55 +0200)
committerGeorge Thessalonikefs <george@nlnetlabs.nl>
Fri, 28 Jul 2023 14:55:51 +0000 (16:55 +0200)
cachedb/cachedb.c
iterator/iterator.c

index 7e26b7c22e8ec3d5ff2fc901d9db960559bd7e1a..f10005c3debdffca19a65658f89632b016d2ea93 100644 (file)
@@ -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;
                }
        }
index e1c07fa42c440bfbbfc62206c3aa73aaaf478519..f30616ddcaf5e80ccbfc8f9dfd131e8400a8b9a4 100644 (file)
@@ -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 */