- Fix #1301: memory leak in respip and tests.

git-svn-id: file:///svn/unbound/trunk@4228 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
Wouter Wijngaards 2017-06-16 07:27:49 +00:00
parent 7bb1d8a8d1
commit 20f8dafcd4
3 changed files with 19 additions and 0 deletions

View file

@ -1,3 +1,6 @@
16 June 2017: Wouter
- Fix #1301: memory leak in respip and tests.
15 June 2017: Wouter
- Fix stub zone queries leaking to the internet for
harden-referral-path ns checks.

View file

@ -261,6 +261,7 @@ respip_enter_rr(struct regional* region, struct resp_addr* raddr,
log_err("bad response-ip-data: %s", rrstr);
return 0;
}
free(nm);
sa = (struct sockaddr*)&raddr->node.addr;
if (rrtype == LDNS_RR_TYPE_CNAME && raddr->data) {
log_err("CNAME response-ip data (%s) can not co-exist with other "

View file

@ -627,6 +627,9 @@ respip_conf_actions_test(void)
}
unit_assert(respip_global_apply_cfg(set, &cfg));
verify_respip_set_actions(set, config_response_ip, clen);
respip_set_delete(set);
config_deldblstrlist(cfg.respip_actions);
}
/** Per-view respip actions test; apply raw configuration with two views
@ -694,6 +697,12 @@ respip_view_conf_actions_test(void)
unit_assert(v);
verify_respip_set_actions(v->respip_set, config_response_ip_view2, clen2);
lock_rw_unlock(&v->lock);
views_delete(views);
free(cv1->name);
free(cv1);
free(cv2->name);
free(cv2);
}
typedef struct addr_data {char* ip; char* data;} addr_data_t;
@ -778,6 +787,8 @@ respip_conf_data_test(void)
verify_rrset(set, "192.0.1.0/24", "11.12.13.14", 1, LDNS_RR_TYPE_A);
verify_rrset(set, "192.0.2.0/24", "www.example.com", 0, LDNS_RR_TYPE_CNAME);
verify_rrset(set, "2001:db8:1::/48", "2001:db8:1::2:1", 0, LDNS_RR_TYPE_AAAA);
respip_set_delete(set);
}
/** Test per-view respip redirect w/ data directives */
@ -814,6 +825,10 @@ respip_view_conf_data_test(void)
0, LDNS_RR_TYPE_CNAME);
verify_rrset(v->respip_set, "2001:db8:1::/48", "2001:db8:1::2:1",
0, LDNS_RR_TYPE_AAAA);
views_delete(views);
free(cv->name);
free(cv);
}
/** respip unit tests */