mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
- 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:
parent
7bb1d8a8d1
commit
20f8dafcd4
3 changed files with 19 additions and 0 deletions
|
|
@ -1,3 +1,6 @@
|
||||||
|
16 June 2017: Wouter
|
||||||
|
- Fix #1301: memory leak in respip and tests.
|
||||||
|
|
||||||
15 June 2017: Wouter
|
15 June 2017: Wouter
|
||||||
- Fix stub zone queries leaking to the internet for
|
- Fix stub zone queries leaking to the internet for
|
||||||
harden-referral-path ns checks.
|
harden-referral-path ns checks.
|
||||||
|
|
|
||||||
|
|
@ -261,6 +261,7 @@ respip_enter_rr(struct regional* region, struct resp_addr* raddr,
|
||||||
log_err("bad response-ip-data: %s", rrstr);
|
log_err("bad response-ip-data: %s", rrstr);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
free(nm);
|
||||||
sa = (struct sockaddr*)&raddr->node.addr;
|
sa = (struct sockaddr*)&raddr->node.addr;
|
||||||
if (rrtype == LDNS_RR_TYPE_CNAME && raddr->data) {
|
if (rrtype == LDNS_RR_TYPE_CNAME && raddr->data) {
|
||||||
log_err("CNAME response-ip data (%s) can not co-exist with other "
|
log_err("CNAME response-ip data (%s) can not co-exist with other "
|
||||||
|
|
|
||||||
|
|
@ -627,6 +627,9 @@ respip_conf_actions_test(void)
|
||||||
}
|
}
|
||||||
unit_assert(respip_global_apply_cfg(set, &cfg));
|
unit_assert(respip_global_apply_cfg(set, &cfg));
|
||||||
verify_respip_set_actions(set, config_response_ip, clen);
|
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
|
/** Per-view respip actions test; apply raw configuration with two views
|
||||||
|
|
@ -694,6 +697,12 @@ respip_view_conf_actions_test(void)
|
||||||
unit_assert(v);
|
unit_assert(v);
|
||||||
verify_respip_set_actions(v->respip_set, config_response_ip_view2, clen2);
|
verify_respip_set_actions(v->respip_set, config_response_ip_view2, clen2);
|
||||||
lock_rw_unlock(&v->lock);
|
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;
|
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.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, "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);
|
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 */
|
/** Test per-view respip redirect w/ data directives */
|
||||||
|
|
@ -814,6 +825,10 @@ respip_view_conf_data_test(void)
|
||||||
0, LDNS_RR_TYPE_CNAME);
|
0, LDNS_RR_TYPE_CNAME);
|
||||||
verify_rrset(v->respip_set, "2001:db8:1::/48", "2001:db8:1::2:1",
|
verify_rrset(v->respip_set, "2001:db8:1::/48", "2001:db8:1::2:1",
|
||||||
0, LDNS_RR_TYPE_AAAA);
|
0, LDNS_RR_TYPE_AAAA);
|
||||||
|
|
||||||
|
views_delete(views);
|
||||||
|
free(cv->name);
|
||||||
|
free(cv);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** respip unit tests */
|
/** respip unit tests */
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue