Skip to content

Commit

Permalink
mid_registrar: Improve previous commit
Browse files Browse the repository at this point in the history
Check the domain list for duplicates before appending a new one.
  • Loading branch information
liviuchircu committed Jan 13, 2022
1 parent 30cdbd6 commit c5d884e
Showing 1 changed file with 15 additions and 14 deletions.
29 changes: 15 additions & 14 deletions modules/mid_registrar/mid_registrar.c
Expand Up @@ -231,29 +231,30 @@ int is_mid_reg_domain(const str *dom)
static int domain_fixup(void** param)
{
udomain_t* d;
str *dom_s = (str *)*param; /* CMD_PARAM_STATIC is always NT */
str_list *dom;

dom = pkg_malloc(sizeof *dom);
if (!dom) {
LM_ERR("oom\n");
return E_OUT_OF_MEM;
}
memset(dom, 0, sizeof *dom);
if (!is_mid_reg_domain(dom_s)) {
dom = pkg_malloc(sizeof *dom);
if (!dom) {
LM_ERR("oom\n");
return E_OUT_OF_MEM;
}
memset(dom, 0, sizeof *dom);

if (pkg_nt_str_dup(&dom->s, (str*)*param) < 0) {
pkg_free(dom);
return E_OUT_OF_MEM;
if (pkg_nt_str_dup(&dom->s, dom_s) < 0) {
pkg_free(dom);
return E_OUT_OF_MEM;
}

add_last(dom, mid_reg_domains);
}

if (ul.register_udomain(dom->s.s, &d) < 0) {
if (ul.register_udomain(dom_s->s, &d) < 0) {
LM_ERR("failed to register domain\n");
pkg_free(dom->s.s);
pkg_free(dom);
return E_UNSPEC;
}

add_last(dom, mid_reg_domains);

*param = (void*)d;
return 0;
}
Expand Down

0 comments on commit c5d884e

Please sign in to comment.