mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
Merge branch 'ondrej/cleanup_isc_mem_get_failure_handling_blocks' into 'master'
Cleanup isc_mem_get() failure handling blocks See merge request isc-projects/bind9!2155
This commit is contained in:
commit
d807ecde24
160 changed files with 356 additions and 2335 deletions
|
|
@ -228,7 +228,9 @@ misc:sid:amd64:
|
|||
|
||||
🐞:sid:amd64:
|
||||
<<: *precheck_job
|
||||
script: util/check-cocci
|
||||
script:
|
||||
- util/check-cocci
|
||||
- if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi
|
||||
|
||||
# Jobs for doc builds on Debian Sid (amd64)
|
||||
|
||||
|
|
|
|||
|
|
@ -140,8 +140,6 @@ add(char *key, int value) {
|
|||
}
|
||||
|
||||
key = isc_mem_strdup(sym_mctx, key);
|
||||
if (key == NULL)
|
||||
return;
|
||||
|
||||
symvalue.as_pointer = NULL;
|
||||
result = isc_symtab_define(symtab, key, value, symvalue,
|
||||
|
|
@ -666,7 +664,7 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
|
|||
origin = dns_fixedname_initname(&fixorigin);
|
||||
CHECK(dns_name_fromtext(origin, &buffer, dns_rootname, 0, NULL));
|
||||
CHECK(dns_zone_setorigin(zone, origin));
|
||||
CHECK(dns_zone_setdbtype(zone, 1, (const char * const *) dbtype));
|
||||
dns_zone_setdbtype(zone, 1, (const char * const *) dbtype);
|
||||
CHECK(dns_zone_setfile(zone, filename, fileformat,
|
||||
&dns_master_style_default));
|
||||
if (journal != NULL)
|
||||
|
|
|
|||
|
|
@ -222,8 +222,6 @@ main(int argc, char **argv) {
|
|||
if (suffix != NULL) {
|
||||
len = strlen(keyname) + strlen(suffix) + 2;
|
||||
keybuf = isc_mem_get(mctx, len);
|
||||
if (keybuf == NULL)
|
||||
fatal("failed to allocate memory for keyname");
|
||||
snprintf(keybuf, len, "%s.%s", keyname, suffix);
|
||||
keyname = (const char *) keybuf;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -222,8 +222,6 @@ main(int argc, char **argv) {
|
|||
char *buf;
|
||||
len = strlen(chrootdir) + strlen(keyfile) + 2;
|
||||
buf = isc_mem_get(mctx, len);
|
||||
if (buf == NULL)
|
||||
fatal("isc_mem_get(%d) failed\n", len);
|
||||
snprintf(buf, len, "%s%s%s", chrootdir,
|
||||
(*keyfile != '/') ? "/" : "", keyfile);
|
||||
|
||||
|
|
|
|||
|
|
@ -436,8 +436,6 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner,
|
|||
|
||||
do {
|
||||
t = isc_mem_get(mctx, len);
|
||||
if (t == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
isc_buffer_init(&target, t, len);
|
||||
if (short_form) {
|
||||
|
|
@ -716,9 +714,6 @@ setup_dnsseckeys(dns_client_t *client) {
|
|||
|
||||
if (trust_anchor == NULL) {
|
||||
trust_anchor = isc_mem_strdup(mctx, ".");
|
||||
if (trust_anchor == NULL) {
|
||||
fatal("out of memory");
|
||||
}
|
||||
}
|
||||
|
||||
if (trust_anchor != NULL) {
|
||||
|
|
@ -819,8 +814,6 @@ addserver(dns_client_t *client) {
|
|||
fatal("Use of IPv4 disabled by -6");
|
||||
}
|
||||
sa = isc_mem_get(mctx, sizeof(*sa));
|
||||
if (sa == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
ISC_LINK_INIT(sa, link);
|
||||
isc_sockaddr_fromin(sa, &in4, destport);
|
||||
ISC_LIST_APPEND(servers, sa, link);
|
||||
|
|
@ -829,8 +822,6 @@ addserver(dns_client_t *client) {
|
|||
fatal("Use of IPv6 disabled by -4");
|
||||
}
|
||||
sa = isc_mem_get(mctx, sizeof(*sa));
|
||||
if (sa == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
ISC_LINK_INIT(sa, link);
|
||||
isc_sockaddr_fromin6(sa, &in6, destport);
|
||||
ISC_LIST_APPEND(servers, sa, link);
|
||||
|
|
@ -858,10 +849,6 @@ addserver(dns_client_t *client) {
|
|||
cur->ai_family != AF_INET6)
|
||||
continue;
|
||||
sa = isc_mem_get(mctx, sizeof(*sa));
|
||||
if (sa == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
break;
|
||||
}
|
||||
memset(sa, 0, sizeof(*sa));
|
||||
ISC_LINK_INIT(sa, link);
|
||||
memmove(&sa->type, cur->ai_addr, cur->ai_addrlen);
|
||||
|
|
@ -934,10 +921,6 @@ findserver(dns_client_t *client) {
|
|||
struct in_addr localhost;
|
||||
localhost.s_addr = htonl(INADDR_LOOPBACK);
|
||||
sa = isc_mem_get(mctx, sizeof(*sa));
|
||||
if (sa == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
isc_sockaddr_fromin(sa, &localhost, destport);
|
||||
|
||||
ISC_LINK_INIT(sa, link);
|
||||
|
|
@ -946,10 +929,6 @@ findserver(dns_client_t *client) {
|
|||
|
||||
if (use_ipv6) {
|
||||
sa = isc_mem_get(mctx, sizeof(*sa));
|
||||
if (sa == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
isc_sockaddr_fromin6(sa, &in6addr_loopback, destport);
|
||||
|
||||
ISC_LINK_INIT(sa, link);
|
||||
|
|
@ -1050,8 +1029,6 @@ plus_option(char *option) {
|
|||
dlv_validation = state;
|
||||
if (value != NULL) {
|
||||
dlv_anchor = isc_mem_strdup(mctx, value);
|
||||
if (dlv_anchor == NULL)
|
||||
fatal("out of memory");
|
||||
}
|
||||
break;
|
||||
case 'n': /* dnssec */
|
||||
|
|
@ -1086,8 +1063,6 @@ plus_option(char *option) {
|
|||
root_validation = state;
|
||||
if (value != NULL) {
|
||||
trust_anchor = isc_mem_strdup(mctx, value);
|
||||
if (trust_anchor == NULL)
|
||||
fatal("out of memory");
|
||||
}
|
||||
break;
|
||||
case 'r': /* rrcomments */
|
||||
|
|
@ -1270,8 +1245,6 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
|||
switch (opt) {
|
||||
case 'a':
|
||||
anchorfile = isc_mem_strdup(mctx, value);
|
||||
if (anchorfile == NULL)
|
||||
fatal("out of memory");
|
||||
return (value_from_next);
|
||||
case 'b':
|
||||
hash = strchr(value, '#');
|
||||
|
|
@ -1335,8 +1308,6 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
|||
isc_mem_free(mctx, curqname);
|
||||
}
|
||||
curqname = isc_mem_strdup(mctx, value);
|
||||
if (curqname == NULL)
|
||||
fatal("out of memory");
|
||||
return (value_from_next);
|
||||
case 't':
|
||||
*open_type_class = false;
|
||||
|
|
@ -1364,8 +1335,6 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
|||
warn("extra query name");
|
||||
}
|
||||
curqname = isc_mem_strdup(mctx, textname);
|
||||
if (curqname == NULL)
|
||||
fatal("out of memory");
|
||||
if (typeset)
|
||||
warn("extra query type");
|
||||
qtype = dns_rdatatype_ptr;
|
||||
|
|
@ -1512,8 +1481,6 @@ parse_args(int argc, char **argv) {
|
|||
|
||||
if (curqname == NULL) {
|
||||
curqname = isc_mem_strdup(mctx, argv[0]);
|
||||
if (curqname == NULL)
|
||||
fatal("out of memory");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1527,8 +1494,6 @@ parse_args(int argc, char **argv) {
|
|||
|
||||
if (curqname == NULL) {
|
||||
qname = isc_mem_strdup(mctx, ".");
|
||||
if (qname == NULL)
|
||||
fatal("out of memory");
|
||||
|
||||
if (!typeset)
|
||||
qtype = dns_rdatatype_ns;
|
||||
|
|
|
|||
|
|
@ -446,9 +446,6 @@ make_server(const char *servname, const char *userarg) {
|
|||
|
||||
debug("make_server(%s)", servname);
|
||||
srv = isc_mem_allocate(mctx, sizeof(struct dig_server));
|
||||
if (srv == NULL)
|
||||
fatal("memory allocation failure in %s:%d",
|
||||
__FILE__, __LINE__);
|
||||
strlcpy(srv->servername, servname, MXNAME);
|
||||
strlcpy(srv->userarg, userarg, MXNAME);
|
||||
ISC_LINK_INIT(srv, link);
|
||||
|
|
@ -576,9 +573,6 @@ make_empty_lookup(void) {
|
|||
INSIST(!free_now);
|
||||
|
||||
looknew = isc_mem_allocate(mctx, sizeof(struct dig_lookup));
|
||||
if (looknew == NULL)
|
||||
fatal("memory allocation failure in %s:%d",
|
||||
__FILE__, __LINE__);
|
||||
looknew->pending = true;
|
||||
looknew->textname[0] = 0;
|
||||
looknew->cmdline[0] = 0;
|
||||
|
|
@ -681,8 +675,6 @@ cloneopts(dig_lookup_t *looknew, dig_lookup_t *lookold) {
|
|||
size_t len = sizeof(looknew->ednsopts[0]) * EDNSOPT_OPTIONS;
|
||||
size_t i;
|
||||
looknew->ednsopts = isc_mem_allocate(mctx, len);
|
||||
if (looknew->ednsopts == NULL)
|
||||
fatal("out of memory");
|
||||
for (i = 0; i < EDNSOPT_OPTIONS; i++) {
|
||||
looknew->ednsopts[i].code = 0;
|
||||
looknew->ednsopts[i].length = 0;
|
||||
|
|
@ -696,10 +688,8 @@ cloneopts(dig_lookup_t *looknew, dig_lookup_t *lookold) {
|
|||
len = lookold->ednsopts[i].length;
|
||||
if (len != 0) {
|
||||
INSIST(lookold->ednsopts[i].value != NULL);
|
||||
looknew->ednsopts[i].value =
|
||||
isc_mem_allocate(mctx, len);
|
||||
if (looknew->ednsopts[i].value == NULL)
|
||||
fatal("out of memory");
|
||||
looknew->ednsopts[i].value = isc_mem_allocate(mctx,
|
||||
len);
|
||||
memmove(looknew->ednsopts[i].value,
|
||||
lookold->ednsopts[i].value, len);
|
||||
}
|
||||
|
|
@ -805,8 +795,6 @@ clone_lookup(dig_lookup_t *lookold, bool servers) {
|
|||
if (lookold->ecs_addr != NULL) {
|
||||
size_t len = sizeof(isc_sockaddr_t);
|
||||
looknew->ecs_addr = isc_mem_allocate(mctx, len);
|
||||
if (looknew->ecs_addr == NULL)
|
||||
fatal("out of memory");
|
||||
memmove(looknew->ecs_addr, lookold->ecs_addr, len);
|
||||
}
|
||||
|
||||
|
|
@ -865,9 +853,6 @@ setup_text_key(void) {
|
|||
isc_buffer_putstr(namebuf, keynametext);
|
||||
secretsize = (unsigned int) strlen(keysecret) * 3 / 4;
|
||||
secretstore = isc_mem_allocate(mctx, secretsize);
|
||||
if (secretstore == NULL)
|
||||
fatal("memory allocation failure in %s:%d",
|
||||
__FILE__, __LINE__);
|
||||
isc_buffer_init(&secretbuf, secretstore, secretsize);
|
||||
result = isc_base64_decodestring(keysecret, &secretbuf);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
|
|
@ -957,8 +942,6 @@ parse_netprefix(isc_sockaddr_t **sap, const char *value) {
|
|||
fatal("invalid prefix '%s'\n", value);
|
||||
|
||||
sa = isc_mem_allocate(mctx, sizeof(*sa));
|
||||
if (sa == NULL)
|
||||
fatal("out of memory");
|
||||
memset(sa, 0, sizeof(*sa));
|
||||
|
||||
if (strcmp(buf, "0") == 0) {
|
||||
|
|
@ -1190,9 +1173,6 @@ static dig_searchlist_t *
|
|||
make_searchlist_entry(char *domain) {
|
||||
dig_searchlist_t *search;
|
||||
search = isc_mem_allocate(mctx, sizeof(*search));
|
||||
if (search == NULL)
|
||||
fatal("memory allocation failure in %s:%d",
|
||||
__FILE__, __LINE__);
|
||||
strlcpy(search->origin, domain, MXNAME);
|
||||
search->origin[MXNAME-1] = 0;
|
||||
ISC_LINK_INIT(search, link);
|
||||
|
|
@ -1456,9 +1436,7 @@ save_opt(dig_lookup_t *lookup, char *code, char *value) {
|
|||
|
||||
if (value != NULL) {
|
||||
char *buf;
|
||||
buf = isc_mem_allocate(mctx, strlen(value)/2 + 1);
|
||||
if (buf == NULL)
|
||||
fatal("out of memory");
|
||||
buf = isc_mem_allocate(mctx, strlen(value) / 2 + 1);
|
||||
isc_buffer_init(&b, buf, (unsigned int) strlen(value)/2 + 1);
|
||||
result = isc_hex_decodestring(value, &b);
|
||||
check_result(result, "isc_hex_decodestring");
|
||||
|
|
@ -2489,10 +2467,6 @@ setup_lookup(dig_lookup_t *lookup) {
|
|||
serv = ISC_LIST_NEXT(serv, link))
|
||||
{
|
||||
query = isc_mem_allocate(mctx, sizeof(dig_query_t));
|
||||
if (query == NULL) {
|
||||
fatal("memory allocation failure in %s:%d",
|
||||
__FILE__, __LINE__);
|
||||
}
|
||||
debug("create query %p linked to lookup %p", query, lookup);
|
||||
query->lookup = lookup;
|
||||
query->timer = NULL;
|
||||
|
|
|
|||
|
|
@ -850,8 +850,6 @@ get_next_command(void) {
|
|||
|
||||
fflush(stdout);
|
||||
buf = isc_mem_allocate(mctx, COMMSIZE);
|
||||
if (buf == NULL)
|
||||
fatal("memory allocation failure");
|
||||
isc_app_block();
|
||||
if (interactive) {
|
||||
#ifdef HAVE_READLINE
|
||||
|
|
|
|||
|
|
@ -530,9 +530,6 @@ match_keyset_dsset(dns_rdataset_t *keyset, dns_rdataset_t *dsset,
|
|||
nkey = dns_rdataset_count(keyset);
|
||||
|
||||
keytable = isc_mem_get(mctx, sizeof(keyinfo_t) * nkey);
|
||||
if (keytable == NULL) {
|
||||
fatal("out of memory");
|
||||
}
|
||||
|
||||
for (result = dns_rdataset_first(keyset), i = 0;
|
||||
result == ISC_R_SUCCESS;
|
||||
|
|
@ -610,10 +607,6 @@ matching_sigs(keyinfo_t *keytbl, dns_rdataset_t *rdataset,
|
|||
int i;
|
||||
|
||||
algo = isc_mem_get(mctx, nkey);
|
||||
if (algo == NULL) {
|
||||
fatal("allocating RRSIG/DNSKEY match list: %s",
|
||||
isc_result_totext(ISC_R_NOMEMORY));
|
||||
}
|
||||
memset(algo, 0, nkey);
|
||||
|
||||
for (result = dns_rdataset_first(sigset);
|
||||
|
|
@ -747,10 +740,6 @@ rdata_get(void) {
|
|||
dns_rdata_t *rdata;
|
||||
|
||||
rdata = isc_mem_get(mctx, sizeof(*rdata));
|
||||
if (rdata == NULL) {
|
||||
fatal("allocating DS rdata: %s",
|
||||
isc_result_totext(ISC_R_NOMEMORY));
|
||||
}
|
||||
dns_rdata_init(rdata);
|
||||
|
||||
return (rdata);
|
||||
|
|
@ -835,10 +824,6 @@ make_new_ds_set(ds_maker_func_t *ds_from_rdata,
|
|||
dns_rdatalist_t *dslist;
|
||||
|
||||
dslist = isc_mem_get(mctx, sizeof(*dslist));
|
||||
if (dslist == NULL) {
|
||||
fatal("allocating new DS list: %s",
|
||||
isc_result_totext(ISC_R_NOMEMORY));
|
||||
}
|
||||
|
||||
dns_rdatalist_init(dslist);
|
||||
dslist->rdclass = rdclass;
|
||||
|
|
@ -907,10 +892,6 @@ consistent_digests(dns_rdataset_t *dsset) {
|
|||
n = dns_rdataset_count(dsset);
|
||||
|
||||
arrdata = isc_mem_get(mctx, n * sizeof(dns_rdata_t));
|
||||
if (arrdata == NULL) {
|
||||
fatal("allocating DS rdata array: %s",
|
||||
isc_result_totext(ISC_R_NOMEMORY));
|
||||
}
|
||||
|
||||
for (result = dns_rdataset_first(dsset), i = 0;
|
||||
result == ISC_R_SUCCESS;
|
||||
|
|
@ -926,10 +907,6 @@ consistent_digests(dns_rdataset_t *dsset) {
|
|||
* Convert sorted arrdata to more accessible format
|
||||
*/
|
||||
ds = isc_mem_get(mctx, n * sizeof(dns_rdata_ds_t));
|
||||
if (ds == NULL) {
|
||||
fatal("allocating unpacked DS array: %s",
|
||||
isc_result_totext(ISC_R_NOMEMORY));
|
||||
}
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
result = dns_rdata_tostruct(&arrdata[i], &ds[i], NULL);
|
||||
|
|
|
|||
|
|
@ -368,8 +368,6 @@ main(int argc, char **argv) {
|
|||
|
||||
len = strlen(label) + 8;
|
||||
l = isc_mem_allocate(mctx, len);
|
||||
if (l == NULL)
|
||||
fatal("cannot allocate memory");
|
||||
snprintf(l, len, "pkcs11:%s", label);
|
||||
isc_mem_free(mctx, label);
|
||||
label = l;
|
||||
|
|
|
|||
|
|
@ -113,10 +113,6 @@ main(int argc, char **argv) {
|
|||
* simplify cleanup later
|
||||
*/
|
||||
dir = isc_mem_strdup(mctx, isc_commandline_argument);
|
||||
if (dir == NULL) {
|
||||
fatal("Failed to allocate memory for "
|
||||
"directory");
|
||||
}
|
||||
break;
|
||||
case 'r':
|
||||
removefile = true;
|
||||
|
|
|
|||
|
|
@ -253,10 +253,6 @@ main(int argc, char **argv) {
|
|||
*/
|
||||
directory = isc_mem_strdup(mctx,
|
||||
isc_commandline_argument);
|
||||
if (directory == NULL) {
|
||||
fatal("Failed to allocate memory for "
|
||||
"directory");
|
||||
}
|
||||
break;
|
||||
case 'L':
|
||||
ttl = strtottl(isc_commandline_argument);
|
||||
|
|
|
|||
|
|
@ -1496,8 +1496,6 @@ assignwork(isc_task_t *task, isc_task_t *worker) {
|
|||
}
|
||||
|
||||
fname = isc_mem_get(mctx, sizeof(dns_fixedname_t));
|
||||
if (fname == NULL)
|
||||
fatal("out of memory");
|
||||
name = dns_fixedname_initname(fname);
|
||||
node = NULL;
|
||||
found = false;
|
||||
|
|
@ -2930,8 +2928,6 @@ writeset(const char *prefix, dns_rdatatype_t type) {
|
|||
if (dsdir != NULL)
|
||||
filenamelen += strlen(dsdir) + 1;
|
||||
filename = isc_mem_get(mctx, filenamelen);
|
||||
if (filename == NULL)
|
||||
fatal("out of memory");
|
||||
if (dsdir != NULL)
|
||||
snprintf(filename, filenamelen, "%s/", dsdir);
|
||||
else
|
||||
|
|
@ -3581,8 +3577,6 @@ main(int argc, char *argv[]) {
|
|||
free_output = true;
|
||||
size = strlen(file) + strlen(".signed") + 1;
|
||||
output = isc_mem_allocate(mctx, size);
|
||||
if (output == NULL)
|
||||
fatal("out of memory");
|
||||
snprintf(output, size, "%s.signed", file);
|
||||
}
|
||||
|
||||
|
|
@ -3811,8 +3805,6 @@ main(int argc, char *argv[]) {
|
|||
} else {
|
||||
tempfilelen = strlen(output) + 20;
|
||||
tempfile = isc_mem_get(mctx, tempfilelen);
|
||||
if (tempfile == NULL)
|
||||
fatal("out of memory");
|
||||
|
||||
result = isc_file_mktemplate(output, tempfile, tempfilelen);
|
||||
check_result(result, "isc_file_mktemplate");
|
||||
|
|
@ -3842,8 +3834,6 @@ main(int argc, char *argv[]) {
|
|||
fatal("failed to create task: %s", isc_result_totext(result));
|
||||
|
||||
tasks = isc_mem_get(mctx, ntasks * sizeof(isc_task_t *));
|
||||
if (tasks == NULL)
|
||||
fatal("out of memory");
|
||||
for (i = 0; i < (int)ntasks; i++) {
|
||||
tasks[i] = NULL;
|
||||
result = isc_task_create(taskmgr, 0, &tasks[i]);
|
||||
|
|
|
|||
|
|
@ -512,16 +512,9 @@ named_config_getiplist(const cfg_obj_t *config, const cfg_obj_t *list,
|
|||
}
|
||||
|
||||
dscps = isc_mem_get(mctx, count * sizeof(isc_dscp_t));
|
||||
if (dscps == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
addrs = isc_mem_get(mctx, count * sizeof(isc_sockaddr_t));
|
||||
if (addrs == NULL) {
|
||||
if (dscps != NULL)
|
||||
isc_mem_put(mctx, dscps, count * sizeof(isc_dscp_t));
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
for (element = cfg_list_first(addrlist);
|
||||
element != NULL;
|
||||
|
|
@ -697,8 +690,6 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
|||
newsize = newlen * sizeof(*lists);
|
||||
oldsize = listcount * sizeof(*lists);
|
||||
tmp = isc_mem_get(mctx, newsize);
|
||||
if (tmp == NULL)
|
||||
goto cleanup;
|
||||
if (listcount != 0) {
|
||||
memmove(tmp, lists, oldsize);
|
||||
isc_mem_put(mctx, lists, oldsize);
|
||||
|
|
@ -733,8 +724,6 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
|||
newsize = newlen * sizeof(*stack);
|
||||
oldsize = stackcount * sizeof(*stack);
|
||||
tmp = isc_mem_get(mctx, newsize);
|
||||
if (tmp == NULL)
|
||||
goto cleanup;
|
||||
if (stackcount != 0) {
|
||||
memmove(tmp, stack, oldsize);
|
||||
isc_mem_put(mctx, stack, oldsize);
|
||||
|
|
@ -761,8 +750,6 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
|||
newsize = newlen * sizeof(isc_sockaddr_t);
|
||||
oldsize = addrcount * sizeof(isc_sockaddr_t);
|
||||
tmp = isc_mem_get(mctx, newsize);
|
||||
if (tmp == NULL)
|
||||
goto cleanup;
|
||||
if (addrcount != 0) {
|
||||
memmove(tmp, addrs, oldsize);
|
||||
isc_mem_put(mctx, addrs, oldsize);
|
||||
|
|
@ -773,8 +760,6 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
|||
newsize = newlen * sizeof(isc_dscp_t);
|
||||
oldsize = dscpcount * sizeof(isc_dscp_t);
|
||||
tmp = isc_mem_get(mctx, newsize);
|
||||
if (tmp == NULL)
|
||||
goto cleanup;
|
||||
if (dscpcount != 0) {
|
||||
memmove(tmp, dscps, oldsize);
|
||||
isc_mem_put(mctx, dscps, oldsize);
|
||||
|
|
@ -785,8 +770,6 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
|||
newsize = newlen * sizeof(dns_name_t *);
|
||||
oldsize = keycount * sizeof(dns_name_t *);
|
||||
tmp = isc_mem_get(mctx, newsize);
|
||||
if (tmp == NULL)
|
||||
goto cleanup;
|
||||
if (keycount != 0) {
|
||||
memmove(tmp, keys, oldsize);
|
||||
isc_mem_put(mctx, keys, oldsize);
|
||||
|
|
@ -806,8 +789,6 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
|||
if (!cfg_obj_isstring(key))
|
||||
continue;
|
||||
keys[i - 1] = isc_mem_get(mctx, sizeof(dns_name_t));
|
||||
if (keys[i - 1] == NULL)
|
||||
goto cleanup;
|
||||
dns_name_init(keys[i - 1], NULL);
|
||||
|
||||
keystr = cfg_obj_asstring(key);
|
||||
|
|
@ -838,8 +819,6 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
|||
oldsize = addrcount * sizeof(isc_sockaddr_t);
|
||||
if (i != 0) {
|
||||
tmp = isc_mem_get(mctx, newsize);
|
||||
if (tmp == NULL)
|
||||
goto cleanup;
|
||||
memmove(tmp, addrs, newsize);
|
||||
} else
|
||||
tmp = NULL;
|
||||
|
|
@ -851,8 +830,6 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
|||
oldsize = dscpcount * sizeof(isc_dscp_t);
|
||||
if (i != 0) {
|
||||
tmp = isc_mem_get(mctx, newsize);
|
||||
if (tmp == NULL)
|
||||
goto cleanup;
|
||||
memmove(tmp, dscps, newsize);
|
||||
} else
|
||||
tmp = NULL;
|
||||
|
|
@ -864,8 +841,6 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
|||
oldsize = keycount * sizeof(dns_name_t *);
|
||||
if (i != 0) {
|
||||
tmp = isc_mem_get(mctx, newsize);
|
||||
if (tmp == NULL)
|
||||
goto cleanup;
|
||||
memmove(tmp, keys, newsize);
|
||||
} else
|
||||
tmp = NULL;
|
||||
|
|
|
|||
|
|
@ -369,9 +369,8 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
|
|||
|
||||
ccregion.rstart = isc_buffer_base(&conn->ccmsg.buffer);
|
||||
ccregion.rend = isc_buffer_used(&conn->ccmsg.buffer);
|
||||
secret.rstart = isc_mem_get(listener->mctx, key->secret.length);
|
||||
if (secret.rstart == NULL)
|
||||
goto cleanup;
|
||||
secret.rstart = isc_mem_get(listener->mctx,
|
||||
key->secret.length);
|
||||
memmove(secret.rstart, key->secret.base, key->secret.length);
|
||||
secret.rend = secret.rstart + key->secret.length;
|
||||
algorithm = key->algorithm;
|
||||
|
|
@ -561,8 +560,6 @@ newconnection(controllistener_t *listener, isc_socket_t *sock) {
|
|||
isc_result_t result;
|
||||
|
||||
conn = isc_mem_get(listener->mctx, sizeof(*conn));
|
||||
if (conn == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
conn->sock = sock;
|
||||
isccc_ccmsg_init(listener->mctx, sock, &conn->ccmsg);
|
||||
|
|
@ -709,7 +706,7 @@ cfgkeylist_find(const cfg_obj_t *keylist, const char *keyname,
|
|||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
static void
|
||||
controlkeylist_fromcfg(const cfg_obj_t *keylist, isc_mem_t *mctx,
|
||||
controlkeylist_t *keyids)
|
||||
{
|
||||
|
|
@ -726,11 +723,7 @@ controlkeylist_fromcfg(const cfg_obj_t *keylist, isc_mem_t *mctx,
|
|||
obj = cfg_listelt_value(element);
|
||||
str = cfg_obj_asstring(obj);
|
||||
newstr = isc_mem_strdup(mctx, str);
|
||||
if (newstr == NULL)
|
||||
goto cleanup;
|
||||
key = isc_mem_get(mctx, sizeof(*key));
|
||||
if (key == NULL)
|
||||
goto cleanup;
|
||||
key->keyname = newstr;
|
||||
key->algorithm = DST_ALG_UNKNOWN;
|
||||
key->secret.base = NULL;
|
||||
|
|
@ -739,13 +732,6 @@ controlkeylist_fromcfg(const cfg_obj_t *keylist, isc_mem_t *mctx,
|
|||
ISC_LIST_APPEND(*keyids, key, link);
|
||||
newstr = NULL;
|
||||
}
|
||||
return (ISC_R_SUCCESS);
|
||||
|
||||
cleanup:
|
||||
if (newstr != NULL)
|
||||
isc_mem_free(mctx, newstr);
|
||||
free_controlkeylist(keyids, mctx);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -819,15 +805,6 @@ register_keys(const cfg_obj_t *control, const cfg_obj_t *keylist,
|
|||
keyid->secret.length = isc_buffer_usedlength(&b);
|
||||
keyid->secret.base = isc_mem_get(mctx,
|
||||
keyid->secret.length);
|
||||
if (keyid->secret.base == NULL) {
|
||||
cfg_obj_log(keydef, named_g_lctx,
|
||||
ISC_LOG_WARNING,
|
||||
"couldn't register key '%s': "
|
||||
"out of memory", keyid->keyname);
|
||||
ISC_LIST_UNLINK(*keyids, keyid, link);
|
||||
free_controlkey(keyid, mctx);
|
||||
break;
|
||||
}
|
||||
memmove(keyid->secret.base, isc_buffer_base(&b),
|
||||
keyid->secret.length);
|
||||
}
|
||||
|
|
@ -868,8 +845,6 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
|
|||
CHECK(cfg_map_get(config, "key", &key));
|
||||
|
||||
keyid = isc_mem_get(mctx, sizeof(*keyid));
|
||||
if (keyid == NULL)
|
||||
CHECK(ISC_R_NOMEMORY);
|
||||
keyid->keyname = isc_mem_strdup(mctx,
|
||||
cfg_obj_asstring(cfg_map_getname(key)));
|
||||
keyid->secret.base = NULL;
|
||||
|
|
@ -911,14 +886,7 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
|
|||
}
|
||||
|
||||
keyid->secret.length = isc_buffer_usedlength(&b);
|
||||
keyid->secret.base = isc_mem_get(mctx,
|
||||
keyid->secret.length);
|
||||
if (keyid->secret.base == NULL) {
|
||||
cfg_obj_log(key, named_g_lctx, ISC_LOG_WARNING,
|
||||
"couldn't register key '%s': "
|
||||
"out of memory", keyid->keyname);
|
||||
CHECK(ISC_R_NOMEMORY);
|
||||
}
|
||||
keyid->secret.base = isc_mem_get(mctx, keyid->secret.length);
|
||||
memmove(keyid->secret.base, isc_buffer_base(&b),
|
||||
keyid->secret.length);
|
||||
ISC_LIST_APPEND(*keyids, keyid, link);
|
||||
|
|
@ -1017,14 +985,11 @@ update_listener(named_controls_t *cp, controllistener_t **listenerp,
|
|||
INSIST(global_keylist != NULL);
|
||||
|
||||
ISC_LIST_INIT(keys);
|
||||
result = controlkeylist_fromcfg(control_keylist,
|
||||
listener->mctx, &keys);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
free_controlkeylist(&listener->keys, listener->mctx);
|
||||
listener->keys = keys;
|
||||
register_keys(control, global_keylist, &listener->keys,
|
||||
listener->mctx, socktext);
|
||||
}
|
||||
controlkeylist_fromcfg(control_keylist, listener->mctx, &keys);
|
||||
free_controlkeylist(&listener->keys, listener->mctx);
|
||||
listener->keys = keys;
|
||||
register_keys(control, global_keylist, &listener->keys,
|
||||
listener->mctx, socktext);
|
||||
} else {
|
||||
free_controlkeylist(&listener->keys, listener->mctx);
|
||||
result = get_rndckey(listener->mctx, &listener->keys);
|
||||
|
|
@ -1125,8 +1090,6 @@ add_listener(named_controls_t *cp, controllistener_t **listenerp,
|
|||
isc_result_t result = ISC_R_SUCCESS;
|
||||
|
||||
listener = isc_mem_get(mctx, sizeof(*listener));
|
||||
if (listener == NULL)
|
||||
result = ISC_R_NOMEMORY;
|
||||
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
listener->mctx = NULL;
|
||||
|
|
@ -1177,15 +1140,13 @@ add_listener(named_controls_t *cp, controllistener_t **listenerp,
|
|||
&control_keylist);
|
||||
|
||||
if (control_keylist != NULL) {
|
||||
result = controlkeylist_fromcfg(control_keylist,
|
||||
listener->mctx,
|
||||
controlkeylist_fromcfg(control_keylist, listener->mctx,
|
||||
&listener->keys);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
register_keys(control, global_keylist,
|
||||
&listener->keys,
|
||||
listener->mctx, socktext);
|
||||
} else
|
||||
register_keys(control, global_keylist, &listener->keys,
|
||||
listener->mctx, socktext);
|
||||
} else {
|
||||
result = get_rndckey(mctx, &listener->keys);
|
||||
}
|
||||
|
||||
if (result != ISC_R_SUCCESS && control != NULL)
|
||||
cfg_obj_log(control, named_g_lctx, ISC_LOG_WARNING,
|
||||
|
|
|
|||
|
|
@ -1904,7 +1904,7 @@ dns64_reverse(dns_view_t *view, isc_mem_t *mctx, isc_netaddr_t *na,
|
|||
dns_zone_setclass(zone, view->rdclass);
|
||||
dns_zone_settype(zone, dns_zone_master);
|
||||
dns_zone_setstats(zone, named_g_server->zonestats);
|
||||
CHECK(dns_zone_setdbtype(zone, dns64_dbtypec, dns64_dbtype));
|
||||
dns_zone_setdbtype(zone, dns64_dbtypec, dns64_dbtype);
|
||||
if (view->queryacl != NULL)
|
||||
dns_zone_setqueryacl(zone, view->queryacl);
|
||||
if (view->queryonacl != NULL)
|
||||
|
|
@ -1945,10 +1945,6 @@ conf_dnsrps_sadd(conf_dnsrps_ctx_t *ctx, const char *p, ...) {
|
|||
|
||||
if (ctx->cstr == NULL) {
|
||||
ctx->cstr = isc_mem_get(ctx->mctx, 256);
|
||||
if (ctx->cstr == NULL) {
|
||||
ctx->result = ISC_R_NOMEMORY;
|
||||
return (false);
|
||||
}
|
||||
ctx->cstr[0] = '\0';
|
||||
ctx->cstr_size = 256;
|
||||
}
|
||||
|
|
@ -1964,10 +1960,6 @@ conf_dnsrps_sadd(conf_dnsrps_ctx_t *ctx, const char *p, ...) {
|
|||
|
||||
new_cstr_size = ((cur_len + new_len)/256 + 1) * 256;
|
||||
new_cstr = isc_mem_get(ctx->mctx, new_cstr_size);
|
||||
if (new_cstr == NULL) {
|
||||
ctx->result = ISC_R_NOMEMORY;
|
||||
return (false);
|
||||
}
|
||||
|
||||
memmove(new_cstr, ctx->cstr, cur_len);
|
||||
isc_mem_put(ctx->mctx, ctx->cstr, ctx->cstr_size);
|
||||
|
|
@ -3418,9 +3410,9 @@ create_empty_zone(dns_zone_t *zone, dns_name_t *name, dns_view_t *view,
|
|||
zone = myzone;
|
||||
CHECK(dns_zone_setorigin(zone, name));
|
||||
CHECK(dns_zonemgr_managezone(named_g_server->zonemgr, zone));
|
||||
if (db == NULL)
|
||||
CHECK(dns_zone_setdbtype(zone, empty_dbtypec,
|
||||
empty_dbtype));
|
||||
if (db == NULL) {
|
||||
dns_zone_setdbtype(zone, empty_dbtypec, empty_dbtype);
|
||||
}
|
||||
dns_zone_setclass(zone, view->rdclass);
|
||||
dns_zone_settype(zone, dns_zone_master);
|
||||
dns_zone_setstats(zone, named_g_server->zonestats);
|
||||
|
|
@ -4372,10 +4364,6 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
|
|||
isc_mem_detach(&hmctx);
|
||||
}
|
||||
nsc = isc_mem_get(mctx, sizeof(*nsc));
|
||||
if (nsc == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
nsc->cache = NULL;
|
||||
dns_cache_attach(cache, &nsc->cache);
|
||||
nsc->primaryview = view;
|
||||
|
|
@ -5796,10 +5784,6 @@ configure_forward(const cfg_obj_t *config, dns_view_t *view,
|
|||
{
|
||||
const cfg_obj_t *forwarder = cfg_listelt_value(element);
|
||||
fwd = isc_mem_get(view->mctx, sizeof(dns_forwarder_t));
|
||||
if (fwd == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
fwd->addr = *cfg_obj_assockaddr(forwarder);
|
||||
if (isc_sockaddr_getport(&fwd->addr) == 0)
|
||||
isc_sockaddr_setport(&fwd->addr, port);
|
||||
|
|
@ -6857,9 +6841,6 @@ dotat(dns_keytable_t *keytable, dns_keynode_t *keynode, void *arg) {
|
|||
view->name, namebuf);
|
||||
|
||||
tat = isc_mem_get(dotat_arg->view->mctx, sizeof(*tat));
|
||||
if (tat == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
tat->mctx = NULL;
|
||||
tat->task = NULL;
|
||||
|
|
@ -6988,8 +6969,6 @@ setstring(named_server_t *server, char **field, const char *value) {
|
|||
|
||||
if (value != NULL) {
|
||||
copy = isc_mem_strdup(server->mctx, value);
|
||||
if (copy == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
} else {
|
||||
copy = NULL;
|
||||
}
|
||||
|
|
@ -7326,15 +7305,12 @@ configure_session_key(const cfg_obj_t **maps, named_server_t *server,
|
|||
INSIST(server->session_keyalg == DST_ALG_UNKNOWN);
|
||||
INSIST(server->session_keybits == 0);
|
||||
|
||||
server->session_keyname = isc_mem_get(mctx, sizeof(dns_name_t));
|
||||
if (server->session_keyname == NULL)
|
||||
goto cleanup;
|
||||
server->session_keyname = isc_mem_get(mctx,
|
||||
sizeof(dns_name_t));
|
||||
dns_name_init(server->session_keyname, NULL);
|
||||
CHECK(dns_name_dup(keyname, mctx, server->session_keyname));
|
||||
|
||||
server->session_keyfile = isc_mem_strdup(mctx, keyfile);
|
||||
if (server->session_keyfile == NULL)
|
||||
goto cleanup;
|
||||
|
||||
server->session_keyalg = algtype;
|
||||
server->session_keybits = bits;
|
||||
|
|
@ -7537,10 +7513,6 @@ setup_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
|
|||
}
|
||||
|
||||
nzcfg = isc_mem_get(view->mctx, sizeof(*nzcfg));
|
||||
if (nzcfg == NULL) {
|
||||
dns_view_setnewzones(view, false, NULL, NULL, 0ULL);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
/*
|
||||
* We attach the parser that was used for config as well
|
||||
|
|
@ -8029,7 +8001,7 @@ check_lockfile(named_server_t *server, const cfg_obj_t *config,
|
|||
"'lock-file' has no effect "
|
||||
"because the server was run with -X");
|
||||
server->lockfile = isc_mem_strdup(server->mctx,
|
||||
named_g_defaultlockfile);
|
||||
named_g_defaultlockfile);
|
||||
} else {
|
||||
filename = cfg_obj_asstring(obj);
|
||||
server->lockfile = isc_mem_strdup(server->mctx,
|
||||
|
|
@ -9170,10 +9142,6 @@ load_configuration(const char *filename, named_server_t *server,
|
|||
} else {
|
||||
altsecret = isc_mem_get(server->sctx->mctx,
|
||||
sizeof(*altsecret));
|
||||
if (altsecret == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
isc_buffer_init(&b, altsecret->secret,
|
||||
sizeof(altsecret->secret));
|
||||
result = isc_hex_decodestring(str, &b);
|
||||
|
|
@ -9398,9 +9366,7 @@ load_zones(named_server_t *server, bool init, bool reconfig) {
|
|||
dns_view_t *view;
|
||||
ns_zoneload_t *zl;
|
||||
|
||||
zl = isc_mem_get(server->mctx, sizeof (*zl));
|
||||
if (zl == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
zl = isc_mem_get(server->mctx, sizeof(*zl));
|
||||
zl->server = server;
|
||||
zl->reconfig = reconfig;
|
||||
|
||||
|
|
@ -9952,10 +9918,6 @@ named_add_reserved_dispatch(named_server_t *server,
|
|||
}
|
||||
|
||||
dispatch = isc_mem_get(server->mctx, sizeof(*dispatch));
|
||||
if (dispatch == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
dispatch->addr = *addr;
|
||||
dispatch->dispatchgen = server->dispatchgen;
|
||||
|
|
@ -10629,8 +10591,6 @@ add_zone_tolist(dns_zone_t *zone, void *uap) {
|
|||
struct zonelistentry *zle;
|
||||
|
||||
zle = isc_mem_get(dctx->mctx, sizeof *zle);
|
||||
if (zle == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
zle->zone = NULL;
|
||||
dns_zone_attach(zone, &zle->zone);
|
||||
ISC_LINK_INIT(zle, link);
|
||||
|
|
@ -10653,8 +10613,6 @@ add_view_tolist(struct dumpcontext *dctx, dns_view_t *view) {
|
|||
return (ISC_R_SUCCESS);
|
||||
|
||||
vle = isc_mem_get(dctx->mctx, sizeof *vle);
|
||||
if (vle == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
vle->view = NULL;
|
||||
dns_view_attach(view, &vle->view);
|
||||
ISC_LINK_INIT(vle, link);
|
||||
|
|
@ -10847,8 +10805,6 @@ named_server_dumpdb(named_server_t *server, isc_lex_t *lex,
|
|||
return (ISC_R_UNEXPECTEDEND);
|
||||
|
||||
dctx = isc_mem_get(server->mctx, sizeof(*dctx));
|
||||
if (dctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
dctx->mctx = server->mctx;
|
||||
dctx->dumpcache = true;
|
||||
|
|
@ -13655,8 +13611,6 @@ named_server_delzone(named_server_t *server, isc_lex_t *lex,
|
|||
|
||||
/* Send cleanup event */
|
||||
dz = isc_mem_get(named_g_mctx, sizeof(*dz));
|
||||
if (dz == NULL)
|
||||
CHECK(ISC_R_NOMEMORY);
|
||||
|
||||
dz->cleanup = cleanup;
|
||||
dz->zone = NULL;
|
||||
|
|
|
|||
|
|
@ -3403,8 +3403,6 @@ add_listener(named_server_t *server, named_statschannel_t **listenerp,
|
|||
dns_acl_t *new_acl = NULL;
|
||||
|
||||
listener = isc_mem_get(server->mctx, sizeof(*listener));
|
||||
if (listener == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
listener->httpdmgr = NULL;
|
||||
listener->address = *addr;
|
||||
|
|
|
|||
|
|
@ -84,10 +84,6 @@ named_tkeyctx_fromconfig(const cfg_obj_t *options, isc_mem_t *mctx,
|
|||
name = dns_fixedname_initname(&fname);
|
||||
RETERR(dns_name_fromtext(name, &b, dns_rootname, 0, NULL));
|
||||
tctx->domain = isc_mem_get(mctx, sizeof(dns_name_t));
|
||||
if (tctx->domain == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto failure;
|
||||
}
|
||||
dns_name_init(tctx->domain, NULL);
|
||||
RETERR(dns_name_dup(name, mctx, tctx->domain));
|
||||
}
|
||||
|
|
@ -109,10 +105,6 @@ named_tkeyctx_fromconfig(const cfg_obj_t *options, isc_mem_t *mctx,
|
|||
if (result == ISC_R_SUCCESS) {
|
||||
s = cfg_obj_asstring(obj);
|
||||
tctx->gssapi_keytab = isc_mem_strdup(mctx, s);
|
||||
if (tctx->gssapi_keytab == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto failure;
|
||||
}
|
||||
}
|
||||
|
||||
*tctxp = tctx;
|
||||
|
|
|
|||
|
|
@ -97,10 +97,6 @@ add_initial_keys(const cfg_obj_t *list, dns_tsig_keyring_t *ring,
|
|||
secretstr = cfg_obj_asstring(secretobj);
|
||||
secretalloc = secretlen = strlen(secretstr) * 3 / 4;
|
||||
secret = isc_mem_get(mctx, secretlen);
|
||||
if (secret == NULL) {
|
||||
ret = ISC_R_NOMEMORY;
|
||||
goto failure;
|
||||
}
|
||||
isc_buffer_init(&secretbuf, secret, secretlen);
|
||||
ret = isc_base64_decodestring(secretstr, &secretbuf);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
|
|
|
|||
|
|
@ -230,25 +230,13 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
return (result);
|
||||
|
||||
cd = isc_mem_get(mctx, sizeof(*cd));
|
||||
if (cd == NULL) {
|
||||
isc_mem_destroy(&mctx);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
memset(cd, 0, sizeof(*cd));
|
||||
|
||||
cd->mctx = mctx;
|
||||
|
||||
cd->dl_path = isc_mem_strdup(cd->mctx, argv[1]);
|
||||
if (cd->dl_path == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
cd->dlzname = isc_mem_strdup(cd->mctx, dlzname);
|
||||
if (cd->dlzname == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
/* Initialize the lock */
|
||||
isc_mutex_init(&cd->lock);
|
||||
|
|
|
|||
|
|
@ -227,25 +227,13 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
isc_mem_create(0, 0, &mctx);
|
||||
|
||||
cd = isc_mem_get(mctx, sizeof(*cd));
|
||||
if (cd == NULL) {
|
||||
isc_mem_destroy(&mctx);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
memset(cd, 0, sizeof(*cd));
|
||||
|
||||
cd->mctx = mctx;
|
||||
|
||||
cd->dl_path = isc_mem_strdup(cd->mctx, argv[1]);
|
||||
if (cd->dl_path == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
cd->dlzname = isc_mem_strdup(cd->mctx, dlzname);
|
||||
if (cd->dlzname == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
triedload = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -287,10 +287,6 @@ configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone,
|
|||
types = NULL;
|
||||
else {
|
||||
types = isc_mem_get(mctx, n * sizeof(dns_rdatatype_t));
|
||||
if (types == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
i = 0;
|
||||
|
|
@ -433,8 +429,6 @@ configure_staticstub_serveraddrs(const cfg_obj_t *zconfig, dns_zone_t *zone,
|
|||
}
|
||||
|
||||
rdata = isc_mem_get(mctx, sizeof(*rdata) + region.length);
|
||||
if (rdata == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
region.base = (unsigned char *)(rdata + 1);
|
||||
memmove(region.base, &na.type, region.length);
|
||||
dns_rdata_init(rdata);
|
||||
|
|
@ -455,13 +449,6 @@ configure_staticstub_serveraddrs(const cfg_obj_t *zconfig, dns_zone_t *zone,
|
|||
/* Add to the list an apex NS with the ns name being the origin name */
|
||||
dns_name_toregion(dns_zone_getorigin(zone), &sregion);
|
||||
rdata = isc_mem_get(mctx, sizeof(*rdata) + sregion.length);
|
||||
if (rdata == NULL) {
|
||||
/*
|
||||
* Already allocated data will be freed in the caller, so
|
||||
* we can simply return here.
|
||||
*/
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
region.length = sregion.length;
|
||||
region.base = (unsigned char *)(rdata + 1);
|
||||
memmove(region.base, sregion.base, region.length);
|
||||
|
|
@ -523,8 +510,6 @@ configure_staticstub_servernames(const cfg_obj_t *zconfig, dns_zone_t *zone,
|
|||
|
||||
dns_name_toregion(nsname, &sregion);
|
||||
rdata = isc_mem_get(mctx, sizeof(*rdata) + sregion.length);
|
||||
if (rdata == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
region.length = sregion.length;
|
||||
region.base = (unsigned char *)(rdata + 1);
|
||||
memmove(region.base, sregion.base, region.length);
|
||||
|
|
@ -718,8 +703,6 @@ strtoargvsub(isc_mem_t *mctx, char *s, unsigned int *argcp,
|
|||
/* We have reached the end of the string. */
|
||||
*argcp = n;
|
||||
*argvp = isc_mem_get(mctx, n * sizeof(char *));
|
||||
if (*argvp == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
} else {
|
||||
char *p = s;
|
||||
while (*p != ' ' && *p != '\t' && *p != '\0')
|
||||
|
|
@ -980,8 +963,6 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
|||
|
||||
len = strlen(dlzname) + 5;
|
||||
cpval = isc_mem_allocate(mctx, len);
|
||||
if (cpval == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
snprintf(cpval, len, "dlz %s", dlzname);
|
||||
}
|
||||
|
||||
|
|
@ -996,12 +977,11 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
|||
* cannot be promoted automatically to (const char * const *) by the
|
||||
* compiler w/o generating a warning.
|
||||
*/
|
||||
result = dns_zone_setdbtype(zone, dbargc, (const char * const *)dbargv);
|
||||
dns_zone_setdbtype(zone, dbargc, (const char * const *)dbargv);
|
||||
isc_mem_put(mctx, dbargv, dbargc * sizeof(*dbargv));
|
||||
if (cpval != default_dbtype && cpval != dlz_dbtype)
|
||||
if (cpval != default_dbtype && cpval != dlz_dbtype) {
|
||||
isc_mem_free(mctx, cpval);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
}
|
||||
|
||||
obj = NULL;
|
||||
result = cfg_map_get(zoptions, "file", &obj);
|
||||
|
|
@ -1098,8 +1078,6 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
|||
RETERR(dns_zone_setfile(raw, filename,
|
||||
masterformat, masterstyle));
|
||||
signedname = isc_mem_get(mctx, signedlen);
|
||||
if (signedname == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
(void)snprintf(signedname, signedlen, "%s" SIGNED, filename);
|
||||
result = dns_zone_setfile(zone, signedname,
|
||||
|
|
|
|||
|
|
@ -514,8 +514,6 @@ setup_keystr(void) {
|
|||
|
||||
secretlen = strlen(secretstr) * 3 / 4;
|
||||
secret = isc_mem_allocate(gmctx, secretlen);
|
||||
if (secret == NULL)
|
||||
fatal("out of memory");
|
||||
|
||||
isc_buffer_init(&secretbuf, secret, secretlen);
|
||||
result = isc_base64_decodestring(secretstr, &secretbuf);
|
||||
|
|
@ -584,8 +582,6 @@ read_sessionkey(isc_mem_t *mctx, isc_log_t *lctx) {
|
|||
|
||||
len = strlen(algorithm) + strlen(mykeyname) + strlen(secretstr) + 3;
|
||||
keystr = isc_mem_allocate(mctx, len);
|
||||
if (keystr == NULL)
|
||||
fatal("out of memory");
|
||||
snprintf(keystr, len, "%s:%s:%s", algorithm, mykeyname, secretstr);
|
||||
setup_keystr();
|
||||
|
||||
|
|
@ -824,9 +820,8 @@ setup_system(void) {
|
|||
default_servers = !local_only;
|
||||
|
||||
ns_total = ns_alloc = (have_ipv4 ? 1 : 0) + (have_ipv6 ? 1 : 0);
|
||||
servers = isc_mem_get(gmctx, ns_alloc * sizeof(isc_sockaddr_t));
|
||||
if (servers == NULL)
|
||||
fatal("out of memory");
|
||||
servers = isc_mem_get(gmctx,
|
||||
ns_alloc * sizeof(isc_sockaddr_t));
|
||||
|
||||
if (have_ipv6) {
|
||||
memset(&in6, 0, sizeof(in6));
|
||||
|
|
@ -869,9 +864,8 @@ setup_system(void) {
|
|||
}
|
||||
|
||||
ns_alloc = ns_total;
|
||||
servers = isc_mem_get(gmctx, ns_alloc * sizeof(isc_sockaddr_t));
|
||||
if (servers == NULL)
|
||||
fatal("out of memory");
|
||||
servers = isc_mem_get(gmctx,
|
||||
ns_alloc * sizeof(isc_sockaddr_t));
|
||||
|
||||
i = 0;
|
||||
for (sa = ISC_LIST_HEAD(*nslist);
|
||||
|
|
@ -1497,8 +1491,6 @@ evaluate_server(char *cmdline) {
|
|||
ns_alloc = MAX_SERVERADDRS;
|
||||
ns_inuse = 0;
|
||||
servers = isc_mem_get(gmctx, ns_alloc * sizeof(isc_sockaddr_t));
|
||||
if (servers == NULL)
|
||||
fatal("out of memory");
|
||||
|
||||
memset(servers, 0, ns_alloc * sizeof(isc_sockaddr_t));
|
||||
ns_total = get_addresses(server, (in_port_t)port, servers, ns_alloc);
|
||||
|
|
@ -1541,15 +1533,13 @@ evaluate_local(char *cmdline) {
|
|||
|
||||
if (have_ipv6 && inet_pton(AF_INET6, local, &in6) == 1) {
|
||||
if (localaddr6 == NULL)
|
||||
localaddr6 = isc_mem_get(gmctx, sizeof(isc_sockaddr_t));
|
||||
if (localaddr6 == NULL)
|
||||
fatal("out of memory");
|
||||
localaddr6 = isc_mem_get(gmctx,
|
||||
sizeof(isc_sockaddr_t));
|
||||
isc_sockaddr_fromin6(localaddr6, &in6, (in_port_t)port);
|
||||
} else if (have_ipv4 && inet_pton(AF_INET, local, &in4) == 1) {
|
||||
if (localaddr4 == NULL)
|
||||
localaddr4 = isc_mem_get(gmctx, sizeof(isc_sockaddr_t));
|
||||
if (localaddr4 == NULL)
|
||||
fatal("out of memory");
|
||||
localaddr4 = isc_mem_get(gmctx,
|
||||
sizeof(isc_sockaddr_t));
|
||||
isc_sockaddr_fromin(localaddr4, &in4, (in_port_t)port);
|
||||
} else {
|
||||
fprintf(stderr, "invalid address %s", local);
|
||||
|
|
@ -1608,8 +1598,6 @@ evaluate_key(char *cmdline) {
|
|||
}
|
||||
secretlen = strlen(secretstr) * 3 / 4;
|
||||
secret = isc_mem_allocate(gmctx, secretlen);
|
||||
if (secret == NULL)
|
||||
fatal("out of memory");
|
||||
|
||||
isc_buffer_init(&secretbuf, secret, secretlen);
|
||||
result = isc_base64_decodestring(secretstr, &secretbuf);
|
||||
|
|
@ -1683,8 +1671,6 @@ evaluate_realm(char *cmdline) {
|
|||
return (STATUS_SYNTAX);
|
||||
}
|
||||
realm = isc_mem_strdup(gmctx, buf);
|
||||
if (realm == NULL)
|
||||
fatal("out of memory");
|
||||
return (STATUS_MORE);
|
||||
#else
|
||||
UNUSED(cmdline);
|
||||
|
|
@ -2520,8 +2506,6 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
|
|||
ddebug("Destroying request [%p]", request);
|
||||
dns_request_destroy(&request);
|
||||
reqinfo = isc_mem_get(gmctx, sizeof(nsu_requestinfo_t));
|
||||
if (reqinfo == NULL)
|
||||
fatal("out of memory");
|
||||
reqinfo->msg = soaquery;
|
||||
reqinfo->addr = addr;
|
||||
dns_message_renderreset(soaquery);
|
||||
|
|
@ -2659,8 +2643,6 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
|
|||
master_alloc = MAX_SERVERADDRS;
|
||||
size = master_alloc * sizeof(isc_sockaddr_t);
|
||||
master_servers = isc_mem_get(gmctx, size);
|
||||
if (master_servers == NULL)
|
||||
fatal("out of memory");
|
||||
|
||||
memset(master_servers, 0, size);
|
||||
master_total = get_addresses(serverstr, dnsport,
|
||||
|
|
@ -2724,8 +2706,6 @@ sendrequest(isc_sockaddr_t *destaddr, dns_message_t *msg,
|
|||
isc_sockaddr_t *srcaddr;
|
||||
|
||||
reqinfo = isc_mem_get(gmctx, sizeof(nsu_requestinfo_t));
|
||||
if (reqinfo == NULL)
|
||||
fatal("out of memory");
|
||||
reqinfo->msg = msg;
|
||||
reqinfo->addr = destaddr;
|
||||
|
||||
|
|
@ -2835,8 +2815,6 @@ start_gssrequest(dns_name_t *master) {
|
|||
dns_name_format(master, namestr, sizeof(namestr));
|
||||
if (kserver == NULL) {
|
||||
kserver = isc_mem_get(gmctx, sizeof(isc_sockaddr_t));
|
||||
if (kserver == NULL)
|
||||
fatal("out of memory");
|
||||
}
|
||||
|
||||
memmove(kserver, &master_servers[master_inuse],
|
||||
|
|
@ -2920,8 +2898,6 @@ send_gssrequest(isc_sockaddr_t *destaddr, dns_message_t *msg,
|
|||
|
||||
debug("send_gssrequest");
|
||||
reqinfo = isc_mem_get(gmctx, sizeof(nsu_gssinfo_t));
|
||||
if (reqinfo == NULL)
|
||||
fatal("out of memory");
|
||||
reqinfo->msg = msg;
|
||||
reqinfo->addr = destaddr;
|
||||
reqinfo->context = context;
|
||||
|
|
|
|||
|
|
@ -968,8 +968,6 @@ main(int argc, char **argv) {
|
|||
argslen += strlen(argv[i]) + 1;
|
||||
|
||||
args = isc_mem_get(rndc_mctx, argslen);
|
||||
if (args == NULL)
|
||||
DO("isc_mem_get", ISC_R_NOMEMORY);
|
||||
|
||||
p = args;
|
||||
for (i = 0; i < argc; i++) {
|
||||
|
|
|
|||
|
|
@ -231,8 +231,6 @@ load(const char *filename, const char *origintext, bool cache) {
|
|||
unsigned int i;
|
||||
|
||||
dbi = isc_mem_get(mctx, sizeof(*dbi));
|
||||
if (dbi == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
dbi->db = NULL;
|
||||
dbi->version = NULL;
|
||||
|
|
|
|||
|
|
@ -55,10 +55,6 @@ create_name(char *s) {
|
|||
* name structure.
|
||||
*/
|
||||
name = isc_mem_get(mctx, sizeof(*name) + DNSNAMELEN);
|
||||
if (name == NULL) {
|
||||
printf("out of memory!\n");
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
dns_name_init(name, NULL);
|
||||
isc_buffer_init(&target, name + 1, DNSNAMELEN);
|
||||
|
|
|
|||
|
|
@ -104,11 +104,10 @@ my_recv(isc_task_t *task, isc_event_t *event) {
|
|||
snprintf(buf, sizeof(buf), "\r\nReceived: %.*s\r\n\r\n",
|
||||
(int)dev->n, (char *)region.base);
|
||||
region.base = isc_mem_get(mctx, strlen(buf) + 1);
|
||||
if (region.base != NULL) {
|
||||
{
|
||||
region.length = strlen(buf) + 1;
|
||||
strlcpy((char *)region.base, buf, region.length);
|
||||
} else
|
||||
region.length = 0;
|
||||
}
|
||||
isc_socket_send(sock, ®ion, task, my_send, event->ev_arg);
|
||||
} else {
|
||||
region = dev->region;
|
||||
|
|
@ -177,11 +176,9 @@ my_connect(isc_task_t *task, isc_event_t *event) {
|
|||
"GET / HTTP/1.1\r\nHost: www.flame.org\r\n"
|
||||
"Connection: Close\r\n\r\n");
|
||||
region.base = isc_mem_get(mctx, strlen(buf) + 1);
|
||||
if (region.base != NULL) {
|
||||
{
|
||||
region.length = strlen(buf) + 1;
|
||||
strlcpy((char *)region.base, buf, region.length);
|
||||
} else {
|
||||
region.length = 0;
|
||||
}
|
||||
|
||||
isc_socket_send(sock, ®ion, task, my_http_get, event->ev_arg);
|
||||
|
|
|
|||
|
|
@ -99,8 +99,7 @@ setup(const char *zonename, const char *filename, const char *classname) {
|
|||
result = dns_zone_setorigin(zone, origin);
|
||||
ERRRET(result, "dns_zone_setorigin");
|
||||
|
||||
result = dns_zone_setdbtype(zone, 1, &rbt);
|
||||
ERRRET(result, "dns_zone_setdatabase");
|
||||
dns_zone_setdbtype(zone, 1, &rbt);
|
||||
|
||||
result = dns_zone_setfile(zone, filename, dns_masterformat_text,
|
||||
&dns_master_style_default);
|
||||
|
|
|
|||
|
|
@ -82,10 +82,6 @@ dyndb_init(isc_mem_t *mctx, const char *name, const char *parameters,
|
|||
}
|
||||
|
||||
s = isc_mem_strdup(mctx, parameters);
|
||||
if (s == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
result = isc_commandline_strtoargv(mctx, s, &argc, &argv, 0);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
|
|
|
|||
|
|
@ -95,10 +95,6 @@ new_sample_instance(isc_mem_t *mctx, const char *db_name,
|
|||
isc_mem_attach(mctx, &inst->mctx);
|
||||
|
||||
inst->db_name = isc_mem_strdup(mctx, db_name);
|
||||
if (inst->db_name == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
inst->zone1_name = dns_fixedname_initname(&inst->zone1_fn);
|
||||
inst->zone2_name = dns_fixedname_initname(&inst->zone2_fn);
|
||||
|
|
|
|||
|
|
@ -57,13 +57,8 @@ create_zone(sample_instance_t * const inst, dns_name_t * const name,
|
|||
}
|
||||
dns_zone_setclass(raw, dns_rdataclass_in);
|
||||
dns_zone_settype(raw, dns_zone_master);
|
||||
result = dns_zone_setdbtype(raw, 1, zone_argv);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
log_write(ISC_LOG_ERROR,
|
||||
"create_zone: dns_zone_setdbtype -> %s\n",
|
||||
isc_result_totext(result));
|
||||
goto cleanup;
|
||||
}
|
||||
dns_zone_setdbtype(raw, 1, zone_argv);
|
||||
|
||||
result = dns_zonemgr_managezone(inst->zmgr, raw);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
log_write(ISC_LOG_ERROR,
|
||||
|
|
|
|||
|
|
@ -80,10 +80,6 @@ printmessage(dns_message_t *msg) {
|
|||
|
||||
do {
|
||||
buf = isc_mem_get(mctx, len);
|
||||
if (buf == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
break;
|
||||
}
|
||||
|
||||
isc_buffer_init(&b, buf, len);
|
||||
result = dns_message_totext(msg, &dns_master_style_debug,
|
||||
|
|
|
|||
|
|
@ -845,8 +845,6 @@ newopts(struct query *query) {
|
|||
size_t i;
|
||||
|
||||
query->ednsopts = isc_mem_allocate(mctx, len);
|
||||
if (query->ednsopts == NULL)
|
||||
fatal("out of memory");
|
||||
|
||||
for (i = 0; i < EDNSOPTS; i++) {
|
||||
query->ednsopts[i].code = 0;
|
||||
|
|
@ -880,10 +878,7 @@ save_opt(struct query *query, char *code, char *value) {
|
|||
|
||||
if (value != NULL) {
|
||||
char *buf;
|
||||
buf = isc_mem_allocate(mctx, strlen(value)/2 + 1);
|
||||
if (buf == NULL) {
|
||||
fatal("out of memory");
|
||||
}
|
||||
buf = isc_mem_allocate(mctx, strlen(value) / 2 + 1);
|
||||
isc_buffer_init(&b, buf, strlen(value)/2 + 1);
|
||||
result = isc_hex_decodestring(value, &b);
|
||||
CHECK("isc_hex_decodestring", result);
|
||||
|
|
@ -923,8 +918,6 @@ parse_netprefix(isc_sockaddr_t **sap, const char *value) {
|
|||
}
|
||||
|
||||
sa = isc_mem_allocate(mctx, sizeof(*sa));
|
||||
if (sa == NULL)
|
||||
fatal("out of memory");
|
||||
if (inet_pton(AF_INET6, buf, &in6) == 1) {
|
||||
parsed = true;
|
||||
isc_sockaddr_fromin6(sa, &in6, 0);
|
||||
|
|
@ -1690,17 +1683,11 @@ clone_default_query() {
|
|||
struct query *query;
|
||||
|
||||
query = isc_mem_allocate(mctx, sizeof(struct query));
|
||||
if (query == NULL)
|
||||
fatal("memory allocation failure in %s:%d",
|
||||
__FILE__, __LINE__);
|
||||
memmove(query, &default_query, sizeof(struct query));
|
||||
if (default_query.ecs_addr != NULL) {
|
||||
size_t len = sizeof(isc_sockaddr_t);
|
||||
|
||||
query->ecs_addr = isc_mem_allocate(mctx, len);
|
||||
if (query->ecs_addr == NULL)
|
||||
fatal("memory allocation failure in %s:%d",
|
||||
__FILE__, __LINE__);
|
||||
memmove(query->ecs_addr, default_query.ecs_addr, len);
|
||||
}
|
||||
|
||||
|
|
|
|||
41
cocci/isc_mem_allocate_never_fail.spatch
Normal file
41
cocci/isc_mem_allocate_never_fail.spatch
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
@@
|
||||
statement S;
|
||||
expression V;
|
||||
@@
|
||||
|
||||
V = isc_mem_allocate(...);
|
||||
- if (V == NULL) S
|
||||
|
||||
@@
|
||||
type T;
|
||||
statement S;
|
||||
expression V;
|
||||
@@
|
||||
|
||||
V = (T *)isc_mem_allocate(...);
|
||||
- if (V == NULL) S
|
||||
|
||||
@@
|
||||
statement S;
|
||||
expression V;
|
||||
@@
|
||||
|
||||
if (V == NULL) V = isc_mem_allocate(...);
|
||||
- if (V == NULL) S
|
||||
|
||||
@@
|
||||
statement S1, S2;
|
||||
expression V;
|
||||
@@
|
||||
|
||||
V = isc_mem_allocate(...);
|
||||
- if (V == NULL) S1 else { S2 }
|
||||
+ S2
|
||||
|
||||
@@
|
||||
type T;
|
||||
expression V, E1, E2;
|
||||
@@
|
||||
|
||||
- V = (T)isc_mem_allocate(E1, E2);
|
||||
+ V = isc_mem_allocate(E1, E2);
|
||||
41
cocci/isc_mem_get_never_fail.spatch
Normal file
41
cocci/isc_mem_get_never_fail.spatch
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
@@
|
||||
statement S;
|
||||
expression V;
|
||||
@@
|
||||
|
||||
V = isc_mem_get(...);
|
||||
- if (V == NULL) S
|
||||
|
||||
@@
|
||||
type T;
|
||||
statement S;
|
||||
expression V;
|
||||
@@
|
||||
|
||||
V = (T *)isc_mem_get(...);
|
||||
- if (V == NULL) S
|
||||
|
||||
@@
|
||||
statement S;
|
||||
expression V;
|
||||
@@
|
||||
|
||||
if (V == NULL) V = isc_mem_get(...);
|
||||
- if (V == NULL) S
|
||||
|
||||
@@
|
||||
statement S1, S2;
|
||||
expression V;
|
||||
@@
|
||||
|
||||
V = isc_mem_get(...);
|
||||
- if (V == NULL) S1 else { S2 }
|
||||
+ S2
|
||||
|
||||
@@
|
||||
type T;
|
||||
expression V, E1, E2;
|
||||
@@
|
||||
|
||||
- V = (T)isc_mem_get(E1, E2);
|
||||
+ V = isc_mem_get(E1, E2);
|
||||
33
cocci/isc_mem_strdup_never_fail.spatch
Normal file
33
cocci/isc_mem_strdup_never_fail.spatch
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
@@
|
||||
statement S;
|
||||
expression V;
|
||||
@@
|
||||
|
||||
V = isc_mem_strdup(...);
|
||||
- if (V == NULL) S
|
||||
|
||||
@@
|
||||
type T;
|
||||
statement S;
|
||||
expression V;
|
||||
@@
|
||||
|
||||
V = (T *)isc_mem_strdup(...);
|
||||
- if (V == NULL) S
|
||||
|
||||
@@
|
||||
statement S;
|
||||
expression V;
|
||||
@@
|
||||
|
||||
if (V == NULL) V = isc_mem_strdup(...);
|
||||
- if (V == NULL) S
|
||||
|
||||
@@
|
||||
statement S1, S2;
|
||||
expression V;
|
||||
@@
|
||||
|
||||
V = isc_mem_strdup(...);
|
||||
- if (V == NULL) S1 else { S2 }
|
||||
+ S2
|
||||
|
|
@ -617,13 +617,6 @@ bdb_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
|
||||
/* allocate and zero memory for driver structure */
|
||||
db = isc_mem_get(named_g_mctx, sizeof(bdb_instance_t));
|
||||
if (db == NULL) {
|
||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||
"Could not allocate memory for "
|
||||
"database instance object.");
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
memset(db, 0, sizeof(bdb_instance_t));
|
||||
|
||||
/* attach to the memory context */
|
||||
|
|
|
|||
|
|
@ -707,13 +707,6 @@ bdbhpt_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
|
||||
/* allocate and zero memory for driver structure */
|
||||
db = isc_mem_get(named_g_mctx, sizeof(bdbhpt_instance_t));
|
||||
if (db == NULL) {
|
||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||
"Could not allocate memory for "
|
||||
"database instance object.");
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
memset(db, 0, sizeof(bdbhpt_instance_t));
|
||||
|
||||
/* attach to the memory context */
|
||||
|
|
|
|||
|
|
@ -164,8 +164,6 @@ create_path_helper(char *out, const char *in, config_data_t *cd) {
|
|||
int i;
|
||||
|
||||
tmpString = isc_mem_strdup(named_g_mctx, in);
|
||||
if (tmpString == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
/*
|
||||
* don't forget is_safe guarantees '.' will NOT be the
|
||||
|
|
@ -277,16 +275,7 @@ create_path(const char *zone, const char *host, const char *client,
|
|||
if (cd->splitcnt > 0)
|
||||
pathsize += len/cd->splitcnt;
|
||||
|
||||
tmpPath = isc_mem_allocate(named_g_mctx , pathsize * sizeof(char));
|
||||
if (tmpPath == NULL) {
|
||||
/* write error message */
|
||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||
"Filesystem driver unable to "
|
||||
"allocate memory in create_path().");
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_mem;
|
||||
}
|
||||
tmpPath = isc_mem_allocate(named_g_mctx, pathsize * sizeof(char));
|
||||
|
||||
/*
|
||||
* build path string.
|
||||
|
|
@ -486,11 +475,8 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd,
|
|||
* dir list
|
||||
*/
|
||||
if (dir_list != NULL) {
|
||||
direntry =
|
||||
isc_mem_get(named_g_mctx,
|
||||
sizeof(dir_entry_t));
|
||||
if (direntry == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
direntry = isc_mem_get(named_g_mctx,
|
||||
sizeof(dir_entry_t));
|
||||
strcpy(direntry->dirpath, tmp);
|
||||
ISC_LINK_INIT(direntry, link);
|
||||
ISC_LIST_APPEND(*dir_list, direntry,
|
||||
|
|
@ -645,10 +631,6 @@ fs_allnodes(const char *zone, void *driverarg, void *dbdata,
|
|||
|
||||
/* allocate memory for list */
|
||||
dir_list = isc_mem_get(named_g_mctx, sizeof(dlist_t));
|
||||
if (dir_list == NULL) {
|
||||
result = ISC_R_NOTFOUND;
|
||||
goto complete_allnds;
|
||||
}
|
||||
|
||||
/* initialize list */
|
||||
ISC_LIST_INIT(*dir_list);
|
||||
|
|
@ -905,8 +887,6 @@ fs_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
|
||||
/* allocate memory for our config data */
|
||||
cd = isc_mem_get(named_g_mctx, sizeof(config_data_t));
|
||||
if (cd == NULL)
|
||||
goto no_mem;
|
||||
|
||||
/* zero the memory */
|
||||
memset(cd, 0, sizeof(config_data_t));
|
||||
|
|
@ -915,20 +895,14 @@ fs_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
|
||||
/* get and store our base directory */
|
||||
cd->basedir = isc_mem_strdup(named_g_mctx, argv[1]);
|
||||
if (cd->basedir == NULL)
|
||||
goto no_mem;
|
||||
cd->basedirsize = strlen(cd->basedir);
|
||||
|
||||
/* get and store our data sub-dir */
|
||||
cd->datadir = isc_mem_strdup(named_g_mctx, argv[2]);
|
||||
if (cd->datadir == NULL)
|
||||
goto no_mem;
|
||||
cd->datadirsize = strlen(cd->datadir);
|
||||
|
||||
/* get and store our zone xfr sub-dir */
|
||||
cd->xfrdir = isc_mem_strdup(named_g_mctx, argv[3]);
|
||||
if (cd->xfrdir == NULL)
|
||||
goto no_mem;
|
||||
cd->xfrdirsize = strlen(cd->xfrdir);
|
||||
|
||||
/* get and store our directory split count */
|
||||
|
|
@ -951,22 +925,6 @@ fs_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
|
||||
/* return success */
|
||||
return (ISC_R_SUCCESS);
|
||||
|
||||
/* handle no memory error */
|
||||
no_mem:
|
||||
|
||||
/* if we allocated a config data object clean it up */
|
||||
if (cd != NULL)
|
||||
fs_destroy(NULL, cd);
|
||||
|
||||
/* write error message */
|
||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||
"Filesystem driver unable to "
|
||||
"allocate memory for config data.");
|
||||
|
||||
/* return error */
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -363,14 +363,6 @@ ldap_process_results(LDAP *dbc, LDAPMessage *msg, char ** attrs,
|
|||
|
||||
/* allocate memory for data string */
|
||||
data = isc_mem_allocate(named_g_mctx, len + 1);
|
||||
if (data == NULL) {
|
||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||
"LDAP driver unable to allocate memory "
|
||||
"while processing results");
|
||||
result = ISC_R_FAILURE;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/*
|
||||
* Make sure data is null termed at the beginning so
|
||||
|
|
@ -570,28 +562,16 @@ ldap_get_results(const char *zone, const char *record,
|
|||
/* set fields */
|
||||
if (zone != NULL) {
|
||||
dbi->zone = isc_mem_strdup(named_g_mctx, zone);
|
||||
if (dbi->zone == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
} else {
|
||||
dbi->zone = NULL;
|
||||
}
|
||||
if (record != NULL) {
|
||||
dbi->record = isc_mem_strdup(named_g_mctx, record);
|
||||
if (dbi->record == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
} else {
|
||||
dbi->record = NULL;
|
||||
}
|
||||
if (client != NULL) {
|
||||
dbi->client = isc_mem_strdup(named_g_mctx, client);
|
||||
if (dbi->client == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
} else {
|
||||
dbi->client = NULL;
|
||||
}
|
||||
|
|
@ -1014,35 +994,17 @@ dlz_ldap_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
|
||||
/* allocate memory for LDAP instance */
|
||||
ldap_inst = isc_mem_get(named_g_mctx, sizeof(ldap_instance_t));
|
||||
if (ldap_inst == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memset(ldap_inst, 0, sizeof(ldap_instance_t));
|
||||
|
||||
/* store info needed to automatically re-connect. */
|
||||
ldap_inst->protocol = protocol;
|
||||
ldap_inst->method = method;
|
||||
ldap_inst->hosts = isc_mem_strdup(named_g_mctx, argv[6]);
|
||||
if (ldap_inst->hosts == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
ldap_inst->user = isc_mem_strdup(named_g_mctx, argv[4]);
|
||||
if (ldap_inst->user == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
ldap_inst->cred = isc_mem_strdup(named_g_mctx, argv[5]);
|
||||
if (ldap_inst->cred == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* allocate memory for database connection list */
|
||||
ldap_inst->db = isc_mem_get(named_g_mctx, sizeof(db_list_t));
|
||||
if (ldap_inst->db == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* initialize DB connection list */
|
||||
ISC_LIST_INIT(*(ldap_inst->db));
|
||||
|
|
|
|||
|
|
@ -99,9 +99,7 @@ mysqldrv_escape_string(MYSQL *mysql, const char *instr) {
|
|||
|
||||
len = strlen(instr);
|
||||
|
||||
outstr = isc_mem_allocate(named_g_mctx ,(2 * len * sizeof(char)) + 1);
|
||||
if (outstr == NULL)
|
||||
return NULL;
|
||||
outstr = isc_mem_allocate(named_g_mctx, (2 * len * sizeof(char)) + 1);
|
||||
|
||||
mysql_real_escape_string(mysql, outstr, instr, len);
|
||||
|
||||
|
|
@ -426,17 +424,6 @@ mysql_process_rs(dns_sdlzlookup_t *lookup, MYSQL_RES *rs)
|
|||
* term string
|
||||
*/
|
||||
tmpString = isc_mem_allocate(named_g_mctx, len + 1);
|
||||
if (tmpString == NULL) {
|
||||
/* major bummer, need more ram */
|
||||
isc_log_write(dns_lctx,
|
||||
DNS_LOGCATEGORY_DATABASE,
|
||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||
"mysql driver unable "
|
||||
"to allocate memory for "
|
||||
"temporary string");
|
||||
mysql_free_result(rs);
|
||||
return (ISC_R_FAILURE); /* Yeah, I'd say! */
|
||||
}
|
||||
/* copy field to tmpString */
|
||||
strcpy(tmpString, safeGet(row[2]));
|
||||
|
||||
|
|
@ -654,16 +641,6 @@ mysql_allnodes(const char *zone, void *driverarg, void *dbdata,
|
|||
}
|
||||
/* allocate memory, allow for NULL to term string */
|
||||
tmpString = isc_mem_allocate(named_g_mctx, len + 1);
|
||||
if (tmpString == NULL) { /* we need more ram. */
|
||||
isc_log_write(dns_lctx,
|
||||
DNS_LOGCATEGORY_DATABASE,
|
||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||
"mysql driver unable "
|
||||
"to allocate memory for "
|
||||
"temporary string");
|
||||
mysql_free_result(rs);
|
||||
return (ISC_R_FAILURE);
|
||||
}
|
||||
/* copy this field to tmpString */
|
||||
strcpy(tmpString, safeGet(row[3]));
|
||||
/* concatonate the rest, with spaces between */
|
||||
|
|
|
|||
|
|
@ -209,12 +209,6 @@ odbc_connect(odbc_instance_t *dbi, odbc_db_t **dbc) {
|
|||
}
|
||||
} else {
|
||||
ndb = isc_mem_allocate(named_g_mctx, sizeof(odbc_db_t));
|
||||
if (ndb == NULL) {
|
||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||
"Odbc driver unable to allocate memory");
|
||||
return ISC_R_NOMEMORY;
|
||||
}
|
||||
memset(ndb, 0, sizeof(odbc_db_t));
|
||||
}
|
||||
|
||||
|
|
@ -335,9 +329,7 @@ odbc_escape_string(const char *instr) {
|
|||
|
||||
len = strlen(instr);
|
||||
|
||||
outstr = isc_mem_allocate(named_g_mctx ,(2 * len * sizeof(char)) + 1);
|
||||
if (outstr == NULL)
|
||||
return NULL;
|
||||
outstr = isc_mem_allocate(named_g_mctx, (2 * len * sizeof(char)) + 1);
|
||||
|
||||
odbc_makesafe(outstr, instr, len);
|
||||
|
||||
|
|
@ -715,8 +707,6 @@ odbc_getManyFields(SQLHSTMT *stmnt, SQLSMALLINT startField,
|
|||
|
||||
/* allow for a "\n" at the end of the string/ */
|
||||
data = isc_mem_allocate(named_g_mctx, ++totSize);
|
||||
if (data == NULL)
|
||||
return ISC_R_NOMEMORY;
|
||||
|
||||
result = ISC_R_FAILURE;
|
||||
|
||||
|
|
@ -1219,8 +1209,6 @@ odbc_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
|
||||
/* allocate memory for odbc instance */
|
||||
odbc_inst = isc_mem_get(named_g_mctx, sizeof(odbc_instance_t));
|
||||
if (odbc_inst == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memset(odbc_inst, 0, sizeof(odbc_instance_t));
|
||||
|
||||
/* parse connection string and get paramters. */
|
||||
|
|
@ -1271,10 +1259,6 @@ odbc_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
|
||||
/* allocate memory for database connection list */
|
||||
odbc_inst->db = isc_mem_get(named_g_mctx, sizeof(db_list_t));
|
||||
if (odbc_inst->db == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
||||
/* initialize DB connection list */
|
||||
|
|
|
|||
|
|
@ -240,9 +240,7 @@ postgres_escape_string(const char *instr) {
|
|||
|
||||
len = strlen(instr);
|
||||
|
||||
outstr = isc_mem_allocate(named_g_mctx ,(2 * len * sizeof(char)) + 1);
|
||||
if (outstr == NULL)
|
||||
return NULL;
|
||||
outstr = isc_mem_allocate(named_g_mctx, (2 * len * sizeof(char)) + 1);
|
||||
|
||||
postgres_makesafe(outstr, instr, len);
|
||||
/* PQescapeString(outstr, instr, len); */
|
||||
|
|
@ -676,17 +674,6 @@ postgres_process_rs(dns_sdlzlookup_t *lookup, PGresult *rs)
|
|||
* term string
|
||||
*/
|
||||
tmpString = isc_mem_allocate(named_g_mctx, len + 1);
|
||||
if (tmpString == NULL) {
|
||||
/* major bummer, need more ram */
|
||||
isc_log_write(dns_lctx,
|
||||
DNS_LOGCATEGORY_DATABASE,
|
||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||
"Postgres driver unable to "
|
||||
"allocate memory for "
|
||||
"temporary string");
|
||||
PQclear(rs);
|
||||
return (ISC_R_FAILURE); /* Yeah, I'd say! */
|
||||
}
|
||||
/* copy field to tmpString */
|
||||
strcpy(tmpString, PQgetvalue(rs, i, 2));
|
||||
/*
|
||||
|
|
@ -906,16 +893,6 @@ postgres_allnodes(const char *zone, void *driverarg, void *dbdata,
|
|||
}
|
||||
/* allocate memory, allow for NULL to term string */
|
||||
tmpString = isc_mem_allocate(named_g_mctx, len + 1);
|
||||
if (tmpString == NULL) { /* we need more ram. */
|
||||
isc_log_write(dns_lctx,
|
||||
DNS_LOGCATEGORY_DATABASE,
|
||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||
"Postgres driver unable to "
|
||||
"allocate memory for "
|
||||
"temporary string");
|
||||
PQclear(rs);
|
||||
return (ISC_R_FAILURE);
|
||||
}
|
||||
/* copy this field to tmpString */
|
||||
strcpy(tmpString, PQgetvalue(rs, i, 3));
|
||||
/* concatonate the rest, with spaces between */
|
||||
|
|
@ -1087,8 +1064,6 @@ postgres_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
|
||||
/* allocate memory for database connection list */
|
||||
dblist = isc_mem_get(named_g_mctx, sizeof(db_list_t));
|
||||
if (dblist == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
/* initialize DB connection list */
|
||||
ISC_LIST_INIT(*dblist);
|
||||
|
|
|
|||
|
|
@ -222,25 +222,10 @@ stub_dlz_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
memset(cd, 0, sizeof(config_data_t));
|
||||
|
||||
cd->myzone = isc_mem_strdup(named_g_mctx, argv[1]);
|
||||
if (cd->myzone == NULL) {
|
||||
isc_mem_put(named_g_mctx, cd, sizeof(config_data_t));
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
cd->myname = isc_mem_strdup(named_g_mctx, argv[2]);
|
||||
if (cd->myname == NULL) {
|
||||
isc_mem_put(named_g_mctx, cd, sizeof(config_data_t));
|
||||
isc_mem_free(named_g_mctx, cd->myzone);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
cd->myip = isc_mem_strdup(named_g_mctx, argv[3]);
|
||||
if (cd->myip == NULL) {
|
||||
isc_mem_put(named_g_mctx, cd, sizeof(config_data_t));
|
||||
isc_mem_free(named_g_mctx, cd->myname);
|
||||
isc_mem_free(named_g_mctx, cd->myzone);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
isc_mem_attach(named_g_mctx, &cd->mctx);
|
||||
|
||||
|
|
|
|||
|
|
@ -125,9 +125,6 @@ build_querylist(isc_mem_t *mctx, const char *query_str, char **zone,
|
|||
|
||||
/* allocate memory for query list */
|
||||
tql = isc_mem_get(mctx, sizeof(query_list_t));
|
||||
/* couldn't allocate memory. Problem!! */
|
||||
if (tql == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
/* initialize the query segment list */
|
||||
ISC_LIST_INIT(*tql);
|
||||
|
|
@ -153,10 +150,6 @@ build_querylist(isc_mem_t *mctx, const char *query_str, char **zone,
|
|||
|
||||
/* allocate memory for tseg */
|
||||
tseg = isc_mem_get(mctx, sizeof(query_segment_t));
|
||||
if (tseg == NULL) { /* no memory, clean everything up. */
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
tseg->sql = NULL;
|
||||
tseg->direct = false;
|
||||
/* initialize the query segment link */
|
||||
|
|
@ -165,11 +158,6 @@ build_querylist(isc_mem_t *mctx, const char *query_str, char **zone,
|
|||
ISC_LIST_APPEND(*tql, tseg, link);
|
||||
|
||||
tseg->sql = isc_mem_strdup(mctx, sql);
|
||||
if (tseg->sql == NULL) {
|
||||
/* no memory, clean everything up. */
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
/* tseg->sql points directly to a string. */
|
||||
tseg->direct = true;
|
||||
tseg->strlen = strlen(tseg->sql);
|
||||
|
|
@ -303,9 +291,6 @@ sdlzh_build_querystring(isc_mem_t *mctx, query_list_t *querylist)
|
|||
|
||||
/* allocate memory for the string */
|
||||
qs = isc_mem_allocate(mctx, length + 1);
|
||||
/* couldn't allocate memory, We need more ram! */
|
||||
if (qs == NULL)
|
||||
return NULL;
|
||||
|
||||
*qs = 0;
|
||||
/* start at the top of the list again */
|
||||
|
|
@ -340,13 +325,6 @@ sdlzh_build_sqldbinstance(isc_mem_t *mctx, const char *allnodes_str,
|
|||
|
||||
/* allocate and zero memory for driver structure */
|
||||
db = isc_mem_get(mctx, sizeof(dbinstance_t));
|
||||
if (db == NULL) {
|
||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||
"Could not allocate memory for "
|
||||
"database instance object.");
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
memset(db, 0, sizeof(dbinstance_t));
|
||||
db->dbconn = NULL;
|
||||
db->client = NULL;
|
||||
|
|
|
|||
|
|
@ -529,8 +529,6 @@ memory context is freed before all references have been cleaned up.
|
|||
REQUIRE(foop != NULL && *foop == NULL);
|
||||
|
||||
foo = isc_mem_get(mctx, sizeof(isc_foo_t))
|
||||
if (foo == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
/* Attach to memory context */
|
||||
isc_mem_attach(mctx, &foo->mctx);
|
||||
|
|
@ -615,8 +613,6 @@ When creating an instance of this structure, initialize the link:
|
|||
REQUIRE(foop != NULL && *foop == NULL);
|
||||
|
||||
foo = isc_mem_get(mctx, sizeof(isc_foo_t));
|
||||
if (foo == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
ISC_LINK_INIT(foo, link);
|
||||
|
||||
|
|
|
|||
|
|
@ -379,8 +379,6 @@ nameexist(const cfg_obj_t *obj, const char *name, int value,
|
|||
isc_symvalue_t symvalue;
|
||||
|
||||
key = isc_mem_strdup(mctx, name);
|
||||
if (key == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
symvalue.as_cpointer = obj;
|
||||
result = isc_symtab_define(symtab, key, value, symvalue,
|
||||
isc_symexists_reject);
|
||||
|
|
@ -1619,8 +1617,6 @@ validate_masters(const cfg_obj_t *obj, const cfg_obj_t *config,
|
|||
newsize = newlen * sizeof(*stack);
|
||||
oldsize = stackcount * sizeof(*stack);
|
||||
newstack = isc_mem_get(mctx, newsize);
|
||||
if (newstack == NULL)
|
||||
goto cleanup;
|
||||
if (stackcount != 0) {
|
||||
void *ptr;
|
||||
|
||||
|
|
@ -1638,7 +1634,6 @@ validate_masters(const cfg_obj_t *obj, const cfg_obj_t *config,
|
|||
element = stack[--pushed];
|
||||
goto resume;
|
||||
}
|
||||
cleanup:
|
||||
if (stack != NULL) {
|
||||
void *ptr;
|
||||
|
||||
|
|
@ -2130,20 +2125,17 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
|
|||
case CFG_ZONE_STUB:
|
||||
case CFG_ZONE_STATICSTUB:
|
||||
tmp = isc_mem_strdup(mctx, namebuf);
|
||||
if (tmp != NULL) {
|
||||
{
|
||||
isc_symvalue_t symvalue;
|
||||
|
||||
symvalue.as_cpointer = NULL;
|
||||
tresult = isc_symtab_define(inview, tmp, 1,
|
||||
symvalue, isc_symexists_replace);
|
||||
symvalue,
|
||||
isc_symexists_replace);
|
||||
if (tresult == ISC_R_NOMEMORY) {
|
||||
isc_mem_free(mctx, tmp);
|
||||
}
|
||||
if (result == ISC_R_SUCCESS &&
|
||||
tresult != ISC_R_SUCCESS)
|
||||
if (result == ISC_R_SUCCESS && tresult != ISC_R_SUCCESS)
|
||||
result = tresult;
|
||||
} else if (result != ISC_R_SUCCESS) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -2881,8 +2873,6 @@ check_keylist(const cfg_obj_t *keys, isc_symtab_t *symtab,
|
|||
|
||||
dns_name_format(name, namebuf, sizeof(namebuf));
|
||||
keyname = isc_mem_strdup(mctx, namebuf);
|
||||
if (keyname == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
symvalue.as_cpointer = key;
|
||||
tresult = isc_symtab_define(symtab, keyname, 1, symvalue,
|
||||
isc_symexists_reject);
|
||||
|
|
|
|||
|
|
@ -40,8 +40,6 @@ dns_acl_create(isc_mem_t *mctx, int n, dns_acl_t **target) {
|
|||
n = 1;
|
||||
|
||||
acl = isc_mem_get(mctx, sizeof(*acl));
|
||||
if (acl == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
acl->mctx = NULL;
|
||||
isc_mem_attach(mctx, &acl->mctx);
|
||||
|
|
@ -68,18 +66,10 @@ dns_acl_create(isc_mem_t *mctx, int n, dns_acl_t **target) {
|
|||
acl->magic = DNS_ACL_MAGIC;
|
||||
|
||||
acl->elements = isc_mem_get(mctx, n * sizeof(dns_aclelement_t));
|
||||
if (acl->elements == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
acl->alloc = n;
|
||||
memset(acl->elements, 0, n * sizeof(dns_aclelement_t));
|
||||
*target = acl;
|
||||
return (ISC_R_SUCCESS);
|
||||
|
||||
cleanup:
|
||||
dns_acl_detach(&acl);
|
||||
return (result);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -277,8 +267,6 @@ dns_acl_merge(dns_acl_t *dest, dns_acl_t *source, bool pos)
|
|||
|
||||
newmem = isc_mem_get(dest->mctx,
|
||||
newalloc * sizeof(dns_aclelement_t));
|
||||
if (newmem == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
/* Zero. */
|
||||
memset(newmem, 0, newalloc * sizeof(dns_aclelement_t));
|
||||
|
|
|
|||
|
|
@ -2525,8 +2525,6 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr,
|
|||
UNUSED(timermgr);
|
||||
|
||||
adb = isc_mem_get(mem, sizeof(dns_adb_t));
|
||||
if (adb == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
/*
|
||||
* Initialize things here that cannot fail, and especially things
|
||||
|
|
@ -4488,8 +4486,7 @@ dns_adb_setcookie(dns_adb_t *adb, dns_adbaddrinfo_t *addr,
|
|||
|
||||
if (addr->entry->cookie == NULL && cookie != NULL && len != 0U) {
|
||||
addr->entry->cookie = isc_mem_get(adb->mctx, len);
|
||||
if (addr->entry->cookie != NULL)
|
||||
addr->entry->cookielen = (uint16_t)len;
|
||||
addr->entry->cookielen = (uint16_t)len;
|
||||
}
|
||||
|
||||
if (addr->entry->cookie != NULL)
|
||||
|
|
|
|||
|
|
@ -61,25 +61,18 @@ badcache_resize(dns_badcache_t *bc, isc_time_t *now, bool grow);
|
|||
|
||||
isc_result_t
|
||||
dns_badcache_init(isc_mem_t *mctx, unsigned int size, dns_badcache_t **bcp) {
|
||||
isc_result_t result;
|
||||
dns_badcache_t *bc = NULL;
|
||||
|
||||
REQUIRE(bcp != NULL && *bcp == NULL);
|
||||
REQUIRE(mctx != NULL);
|
||||
|
||||
bc = isc_mem_get(mctx, sizeof(dns_badcache_t));
|
||||
if (bc == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memset(bc, 0, sizeof(dns_badcache_t));
|
||||
|
||||
isc_mem_attach(mctx, &bc->mctx);
|
||||
isc_mutex_init(&bc->lock);
|
||||
|
||||
bc->table = isc_mem_get(bc->mctx, sizeof(*bc->table) * size);
|
||||
if (bc->table == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto destroy_lock;
|
||||
}
|
||||
|
||||
bc->size = bc->minsize = size;
|
||||
memset(bc->table, 0, bc->size * sizeof(dns_bcentry_t *));
|
||||
|
|
@ -90,11 +83,6 @@ dns_badcache_init(isc_mem_t *mctx, unsigned int size, dns_badcache_t **bcp) {
|
|||
|
||||
*bcp = bc;
|
||||
return (ISC_R_SUCCESS);
|
||||
|
||||
destroy_lock:
|
||||
isc_mutex_destroy(&bc->lock);
|
||||
isc_mem_putanddetach(&bc->mctx, bc, sizeof(dns_badcache_t));
|
||||
return (result);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -124,8 +112,6 @@ badcache_resize(dns_badcache_t *bc, isc_time_t *now, bool grow) {
|
|||
newsize = (bc->size - 1) / 2;
|
||||
|
||||
newtable = isc_mem_get(bc->mctx, sizeof(dns_bcentry_t *) * newsize);
|
||||
if (newtable == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memset(newtable, 0, sizeof(dns_bcentry_t *) * newsize);
|
||||
|
||||
for (i = 0; bc->count > 0 && i < bc->size; i++) {
|
||||
|
|
@ -197,8 +183,6 @@ dns_badcache_add(dns_badcache_t *bc, const dns_name_t *name,
|
|||
if (bad == NULL) {
|
||||
isc_buffer_t buffer;
|
||||
bad = isc_mem_get(bc->mctx, sizeof(*bad) + name->length);
|
||||
if (bad == NULL)
|
||||
goto cleanup;
|
||||
bad->type = type;
|
||||
bad->hashval = hashval;
|
||||
bad->expire = *expire;
|
||||
|
|
@ -216,7 +200,6 @@ dns_badcache_add(dns_badcache_t *bc, const dns_name_t *name,
|
|||
} else
|
||||
bad->expire = *expire;
|
||||
|
||||
cleanup:
|
||||
UNLOCK(&bc->lock);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -127,10 +127,6 @@ copy_ptr_targets(dns_byaddr_t *byaddr, dns_rdataset_t *rdataset) {
|
|||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
name = isc_mem_get(byaddr->mctx, sizeof(*name));
|
||||
if (name == NULL) {
|
||||
dns_rdata_freestruct(&ptr);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
dns_name_init(name, NULL);
|
||||
result = dns_name_dup(&ptr.ptr, byaddr->mctx, name);
|
||||
dns_rdata_freestruct(&ptr);
|
||||
|
|
@ -202,17 +198,11 @@ dns_byaddr_create(isc_mem_t *mctx, const isc_netaddr_t *address,
|
|||
isc_event_t *ievent;
|
||||
|
||||
byaddr = isc_mem_get(mctx, sizeof(*byaddr));
|
||||
if (byaddr == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
byaddr->mctx = NULL;
|
||||
isc_mem_attach(mctx, &byaddr->mctx);
|
||||
byaddr->options = options;
|
||||
|
||||
byaddr->event = isc_mem_get(mctx, sizeof(*byaddr->event));
|
||||
if (byaddr->event == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_byaddr;
|
||||
}
|
||||
ISC_EVENT_INIT(byaddr->event, sizeof(*byaddr->event), 0, NULL,
|
||||
DNS_EVENT_BYADDRDONE, action, arg, byaddr,
|
||||
bevent_destroy, mctx);
|
||||
|
|
@ -254,7 +244,6 @@ dns_byaddr_create(isc_mem_t *mctx, const isc_netaddr_t *address,
|
|||
|
||||
isc_task_detach(&byaddr->task);
|
||||
|
||||
cleanup_byaddr:
|
||||
isc_mem_putanddetach(&mctx, byaddr, sizeof(*byaddr));
|
||||
|
||||
return (result);
|
||||
|
|
|
|||
|
|
@ -196,8 +196,6 @@ dns_cache_create(isc_mem_t *cmctx, isc_mem_t *hmctx, isc_taskmgr_t *taskmgr,
|
|||
REQUIRE(cachename != NULL);
|
||||
|
||||
cache = isc_mem_get(cmctx, sizeof(*cache));
|
||||
if (cache == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
cache->mctx = cache->hmctx = NULL;
|
||||
isc_mem_attach(cmctx, &cache->mctx);
|
||||
|
|
@ -206,10 +204,6 @@ dns_cache_create(isc_mem_t *cmctx, isc_mem_t *hmctx, isc_taskmgr_t *taskmgr,
|
|||
cache->name = NULL;
|
||||
if (cachename != NULL) {
|
||||
cache->name = isc_mem_strdup(cmctx, cachename);
|
||||
if (cache->name == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_mem;
|
||||
}
|
||||
}
|
||||
|
||||
isc_mutex_init(&cache->lock);
|
||||
|
|
@ -227,10 +221,6 @@ dns_cache_create(isc_mem_t *cmctx, isc_mem_t *hmctx, isc_taskmgr_t *taskmgr,
|
|||
goto cleanup_filelock;
|
||||
|
||||
cache->db_type = isc_mem_strdup(cmctx, db_type);
|
||||
if (cache->db_type == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_stats;
|
||||
}
|
||||
|
||||
/*
|
||||
* For databases of type "rbt" we pass hmctx to dns_db_create()
|
||||
|
|
@ -246,10 +236,6 @@ dns_cache_create(isc_mem_t *cmctx, isc_mem_t *hmctx, isc_taskmgr_t *taskmgr,
|
|||
if (cache->db_argc != 0) {
|
||||
cache->db_argv = isc_mem_get(cmctx,
|
||||
cache->db_argc * sizeof(char *));
|
||||
if (cache->db_argv == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_dbtype;
|
||||
}
|
||||
|
||||
for (i = 0; i < cache->db_argc; i++)
|
||||
cache->db_argv[i] = NULL;
|
||||
|
|
@ -258,10 +244,6 @@ dns_cache_create(isc_mem_t *cmctx, isc_mem_t *hmctx, isc_taskmgr_t *taskmgr,
|
|||
for (i = extra; i < cache->db_argc; i++) {
|
||||
cache->db_argv[i] = isc_mem_strdup(cmctx,
|
||||
db_argv[i - extra]);
|
||||
if (cache->db_argv[i] == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_dbargv;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -317,14 +299,11 @@ cleanup_dbargv:
|
|||
if (cache->db_argv != NULL)
|
||||
isc_mem_put(cmctx, cache->db_argv,
|
||||
cache->db_argc * sizeof(char *));
|
||||
cleanup_dbtype:
|
||||
isc_mem_free(cmctx, cache->db_type);
|
||||
cleanup_filelock:
|
||||
isc_mutex_destroy(&cache->filelock);
|
||||
cleanup_stats:
|
||||
isc_stats_detach(&cache->stats);
|
||||
isc_mutex_destroy(&cache->lock);
|
||||
cleanup_mem:
|
||||
if (cache->name != NULL) {
|
||||
isc_mem_free(cmctx, cache->name);
|
||||
}
|
||||
|
|
@ -469,8 +448,6 @@ dns_cache_setfilename(dns_cache_t *cache, const char *filename) {
|
|||
REQUIRE(filename != NULL);
|
||||
|
||||
newname = isc_mem_strdup(cache->mctx, filename);
|
||||
if (newname == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
LOCK(&cache->filelock);
|
||||
if (cache->filename)
|
||||
|
|
|
|||
|
|
@ -206,8 +206,6 @@ dns_catz_entry_new(isc_mem_t *mctx, const dns_name_t *domain,
|
|||
REQUIRE(nentryp != NULL && *nentryp == NULL);
|
||||
|
||||
nentry = isc_mem_get(mctx, sizeof(dns_catz_entry_t));
|
||||
if (nentry == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
dns_name_init(&nentry->name, NULL);
|
||||
if (domain != NULL) {
|
||||
|
|
@ -593,8 +591,6 @@ dns_catz_new_zones(dns_catz_zones_t **catzsp, dns_catz_zonemodmethods_t *zmm,
|
|||
REQUIRE(zmm != NULL);
|
||||
|
||||
new_zones = isc_mem_get(mctx, sizeof(*new_zones));
|
||||
if (new_zones == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memset(new_zones, 0, sizeof(*new_zones));
|
||||
|
||||
isc_mutex_init(&new_zones->lock);
|
||||
|
|
@ -650,8 +646,6 @@ dns_catz_new_zone(dns_catz_zones_t *catzs, dns_catz_zone_t **zonep,
|
|||
REQUIRE(ISC_MAGIC_VALID(name, DNS_NAME_MAGIC));
|
||||
|
||||
new_zone = isc_mem_get(catzs->mctx, sizeof(*new_zone));
|
||||
if (new_zone == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
memset(new_zone, 0, sizeof(*new_zone));
|
||||
|
||||
|
|
@ -1130,8 +1124,6 @@ catz_process_masters(dns_catz_zone_t *zone, dns_ipkeylist_t *ipkl,
|
|||
|
||||
/* rdatastr.length < DNS_NAME_MAXTEXT */
|
||||
keyname = isc_mem_get(mctx, sizeof(dns_name_t));
|
||||
if (keyname == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
dns_name_init(keyname, 0);
|
||||
memmove(keycbuf, rdatastr.data, rdatastr.length);
|
||||
keycbuf[rdatastr.length] = 0;
|
||||
|
|
@ -1171,15 +1163,8 @@ catz_process_masters(dns_catz_zone_t *zone, dns_ipkeylist_t *ipkl,
|
|||
return (result);
|
||||
}
|
||||
|
||||
ipkl->labels[i] = isc_mem_get(mctx, sizeof(dns_name_t));
|
||||
if (ipkl->labels[i] == NULL) {
|
||||
if (keyname != NULL) {
|
||||
dns_name_free(keyname, mctx);
|
||||
isc_mem_put(mctx, keyname,
|
||||
sizeof(dns_name_t));
|
||||
}
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
ipkl->labels[i] = isc_mem_get(mctx,
|
||||
sizeof(dns_name_t));
|
||||
dns_name_init(ipkl->labels[i], NULL);
|
||||
result = dns_name_dup(name, mctx, ipkl->labels[i]);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
|
|
|
|||
|
|
@ -488,8 +488,6 @@ dns_client_createx(isc_mem_t *mctx, isc_appctx_t *actx,
|
|||
REQUIRE(clientp != NULL && *clientp == NULL);
|
||||
|
||||
client = isc_mem_get(mctx, sizeof(*client));
|
||||
if (client == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
isc_mutex_init(&client->lock);
|
||||
|
||||
|
|
@ -753,8 +751,6 @@ getrdataset(isc_mem_t *mctx, dns_rdataset_t **rdatasetp) {
|
|||
REQUIRE(rdatasetp != NULL && *rdatasetp == NULL);
|
||||
|
||||
rdataset = isc_mem_get(mctx, sizeof(*rdataset));
|
||||
if (rdataset == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
dns_rdataset_init(rdataset);
|
||||
|
||||
|
|
@ -1285,8 +1281,6 @@ dns_client_resolve(dns_client_t *client, const dns_name_t *name,
|
|||
actx = client->actx;
|
||||
|
||||
resarg = isc_mem_get(client->mctx, sizeof(*resarg));
|
||||
if (resarg == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
isc_mutex_init(&resarg->lock);
|
||||
|
||||
|
|
@ -1688,8 +1682,6 @@ dns_client_request(dns_client_t *client, dns_message_t *qmessage,
|
|||
actx = client->actx;
|
||||
|
||||
reqarg = isc_mem_get(client->mctx, sizeof(*reqarg));
|
||||
if (reqarg == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
isc_mutex_init(&reqarg->lock);
|
||||
|
||||
|
|
@ -2156,14 +2148,6 @@ resolveaddr_done(isc_task_t *task, isc_event_t *event) {
|
|||
|
||||
sa = isc_mem_get(uctx->client->mctx,
|
||||
sizeof(*sa));
|
||||
if (sa == NULL) {
|
||||
/*
|
||||
* If we fail to get a sockaddr,
|
||||
we simply move forward with the
|
||||
* addresses we've got so far.
|
||||
*/
|
||||
goto done;
|
||||
}
|
||||
|
||||
dns_rdata_init(&rdata);
|
||||
switch (family) {
|
||||
|
|
@ -2739,8 +2723,6 @@ dns_client_update(dns_client_t *client, dns_rdataclass_t rdclass,
|
|||
actx = client->actx;
|
||||
|
||||
uarg = isc_mem_get(client->mctx, sizeof(*uarg));
|
||||
if (uarg == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
isc_mutex_init(&uarg->lock);
|
||||
|
||||
|
|
@ -2880,10 +2862,6 @@ dns_client_startupdate(dns_client_t *client, dns_rdataclass_t rdclass,
|
|||
*/
|
||||
|
||||
uctx = isc_mem_get(client->mctx, sizeof(*uctx));
|
||||
if (uctx == NULL) {
|
||||
dns_view_detach(&view);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
isc_mutex_init(&uctx->lock);
|
||||
|
||||
|
|
@ -2929,8 +2907,6 @@ dns_client_startupdate(dns_client_t *client, dns_rdataclass_t rdclass,
|
|||
server != NULL;
|
||||
server = ISC_LIST_NEXT(server, link)) {
|
||||
sa = isc_mem_get(client->mctx, sizeof(*sa));
|
||||
if (sa == NULL)
|
||||
goto fail;
|
||||
sa->type = server->type;
|
||||
sa->length = server->length;
|
||||
ISC_LINK_INIT(sa, link);
|
||||
|
|
@ -3150,8 +3126,6 @@ dns_client_updaterec(dns_client_updateop_t op, const dns_name_t *owner,
|
|||
|
||||
if (rdataset == NULL) {
|
||||
updaterec = isc_mem_get(mctx, size);
|
||||
if (updaterec == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
rdataset = &updaterec->rdataset;
|
||||
rdatalist = &updaterec->rdatalist;
|
||||
rdata = &updaterec->rdata;
|
||||
|
|
|
|||
|
|
@ -408,8 +408,6 @@ dns_compress_add(dns_compress_t *cctx, const dns_name_t *name,
|
|||
dns_name_toregion(name, &r);
|
||||
length = r.length;
|
||||
tmp = isc_mem_get(cctx->mctx, length);
|
||||
if (tmp == NULL)
|
||||
return;
|
||||
/*
|
||||
* Copy name data to 'tmp' and make 'r' use 'tmp'.
|
||||
*/
|
||||
|
|
@ -442,8 +440,6 @@ dns_compress_add(dns_compress_t *cctx, const dns_name_t *name,
|
|||
else {
|
||||
node = isc_mem_get(cctx->mctx,
|
||||
sizeof(dns_compressnode_t));
|
||||
if (node == NULL)
|
||||
break;
|
||||
}
|
||||
node->count = cctx->count++;
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -883,10 +883,6 @@ dns_db_register(const char *name, dns_dbcreatefunc_t create, void *driverarg,
|
|||
}
|
||||
|
||||
imp = isc_mem_get(mctx, sizeof(dns_dbimplementation_t));
|
||||
if (imp == NULL) {
|
||||
RWUNLOCK(&implock, isc_rwlocktype_write);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
imp->name = name;
|
||||
imp->create = create;
|
||||
imp->mctx = NULL;
|
||||
|
|
@ -1044,8 +1040,6 @@ dns_db_updatenotify_register(dns_db_t *db,
|
|||
REQUIRE(fn != NULL);
|
||||
|
||||
listener = isc_mem_get(db->mctx, sizeof(dns_dbonupdatelistener_t));
|
||||
if (listener == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
listener->onupdate = fn;
|
||||
listener->onupdate_arg = fn_arg;
|
||||
|
|
|
|||
|
|
@ -55,9 +55,7 @@ dns_dbtable_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
|
|||
REQUIRE(mctx != NULL);
|
||||
REQUIRE(dbtablep != NULL && *dbtablep == NULL);
|
||||
|
||||
dbtable = (dns_dbtable_t *)isc_mem_get(mctx, sizeof(*dbtable));
|
||||
if (dbtable == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
dbtable = isc_mem_get(mctx, sizeof(*dbtable));
|
||||
|
||||
dbtable->rbt = NULL;
|
||||
result = dns_rbt_create(mctx, dbdetach, NULL, &dbtable->rbt);
|
||||
|
|
|
|||
|
|
@ -66,8 +66,6 @@ dns_difftuple_create(isc_mem_t *mctx,
|
|||
*/
|
||||
size = sizeof(*t) + name->length + rdata->length;
|
||||
t = isc_mem_allocate(mctx, size);
|
||||
if (t == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
t->mctx = NULL;
|
||||
isc_mem_attach(mctx, &t->mctx);
|
||||
t->op = op;
|
||||
|
|
@ -547,8 +545,6 @@ dns_diff_sort(dns_diff_t *diff, dns_diff_compare_func *compare) {
|
|||
if (length == 0)
|
||||
return (ISC_R_SUCCESS);
|
||||
v = isc_mem_get(diff->mctx, length * sizeof(dns_difftuple_t *));
|
||||
if (v == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
for (i = 0; i < length; i++) {
|
||||
p = ISC_LIST_HEAD(diff->tuples);
|
||||
v[i] = p;
|
||||
|
|
@ -600,8 +596,6 @@ dns_diff_print(dns_diff_t *diff, FILE *file) {
|
|||
REQUIRE(DNS_DIFF_VALID(diff));
|
||||
|
||||
mem = isc_mem_get(diff->mctx, size);
|
||||
if (mem == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
for (t = ISC_LIST_HEAD(diff->tuples); t != NULL;
|
||||
t = ISC_LIST_NEXT(t, link))
|
||||
|
|
@ -630,10 +624,6 @@ dns_diff_print(dns_diff_t *diff, FILE *file) {
|
|||
isc_mem_put(diff->mctx, mem, size);
|
||||
size += 1024;
|
||||
mem = isc_mem_get(diff->mctx, size);
|
||||
if (mem == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
goto again;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1746,8 +1746,6 @@ dns_dispatchmgr_create(isc_mem_t *mctx, dns_dispatchmgr_t **mgrp)
|
|||
REQUIRE(mgrp != NULL && *mgrp == NULL);
|
||||
|
||||
mgr = isc_mem_get(mctx, sizeof(dns_dispatchmgr_t));
|
||||
if (mgr == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
mgr->mctx = NULL;
|
||||
isc_mem_attach(mctx, &mgr->mctx);
|
||||
|
|
@ -1901,20 +1899,10 @@ dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset,
|
|||
v4ports = NULL;
|
||||
if (nv4ports != 0) {
|
||||
v4ports = isc_mem_get(mgr->mctx, sizeof(in_port_t) * nv4ports);
|
||||
if (v4ports == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
v6ports = NULL;
|
||||
if (nv6ports != 0) {
|
||||
v6ports = isc_mem_get(mgr->mctx, sizeof(in_port_t) * nv6ports);
|
||||
if (v6ports == NULL) {
|
||||
if (v4ports != NULL) {
|
||||
isc_mem_put(mgr->mctx, v4ports,
|
||||
sizeof(in_port_t) *
|
||||
isc_portset_nports(v4portset));
|
||||
}
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
}
|
||||
|
||||
p = 0;
|
||||
|
|
@ -2237,26 +2225,14 @@ qid_allocate(dns_dispatchmgr_t *mgr, unsigned int buckets,
|
|||
REQUIRE(qidp != NULL && *qidp == NULL);
|
||||
|
||||
qid = isc_mem_get(mgr->mctx, sizeof(*qid));
|
||||
if (qid == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
qid->qid_table = isc_mem_get(mgr->mctx,
|
||||
buckets * sizeof(dns_displist_t));
|
||||
if (qid->qid_table == NULL) {
|
||||
isc_mem_put(mgr->mctx, qid, sizeof(*qid));
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
qid->sock_table = NULL;
|
||||
if (needsocktable) {
|
||||
qid->sock_table = isc_mem_get(mgr->mctx, buckets *
|
||||
sizeof(dispsocketlist_t));
|
||||
if (qid->sock_table == NULL) {
|
||||
isc_mem_put(mgr->mctx, qid->qid_table,
|
||||
buckets * sizeof(dns_displist_t));
|
||||
isc_mem_put(mgr->mctx, qid, sizeof(*qid));
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
qid->sock_table = isc_mem_get(mgr->mctx,
|
||||
buckets * sizeof(dispsocketlist_t));
|
||||
}
|
||||
|
||||
isc_mutex_init(&qid->lock);
|
||||
|
|
@ -2886,11 +2862,7 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr,
|
|||
}
|
||||
|
||||
disp->port_table = isc_mem_get(mgr->mctx,
|
||||
sizeof(disp->port_table[0]) *
|
||||
DNS_DISPATCH_PORTTABLESIZE);
|
||||
if (disp->port_table == NULL) {
|
||||
goto deallocate_dispatch;
|
||||
}
|
||||
sizeof(disp->port_table[0]) * DNS_DISPATCH_PORTTABLESIZE);
|
||||
for (i = 0; i < DNS_DISPATCH_PORTTABLESIZE; i++) {
|
||||
ISC_LIST_INIT(disp->port_table[i]);
|
||||
}
|
||||
|
|
@ -3641,17 +3613,11 @@ dns_dispatchset_create(isc_mem_t *mctx, isc_socketmgr_t *sockmgr,
|
|||
mgr = source->mgr;
|
||||
|
||||
dset = isc_mem_get(mctx, sizeof(dns_dispatchset_t));
|
||||
if (dset == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memset(dset, 0, sizeof(*dset));
|
||||
|
||||
isc_mutex_init(&dset->lock);
|
||||
|
||||
dset->dispatches = isc_mem_get(mctx, sizeof(dns_dispatch_t *) * n);
|
||||
if (dset->dispatches == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto fail_lock;
|
||||
}
|
||||
|
||||
isc_mem_attach(mctx, &dset->mctx);
|
||||
dset->ndisp = n;
|
||||
|
|
@ -3687,7 +3653,6 @@ dns_dispatchset_create(isc_mem_t *mctx, isc_socketmgr_t *sockmgr,
|
|||
if (dset->mctx == mctx)
|
||||
isc_mem_detach(&dset->mctx);
|
||||
|
||||
fail_lock:
|
||||
isc_mutex_destroy(&dset->lock);
|
||||
isc_mem_put(mctx, dset, sizeof(dns_dispatchset_t));
|
||||
return (result);
|
||||
|
|
|
|||
|
|
@ -198,10 +198,6 @@ dns_dlzcreate(isc_mem_t *mctx, const char *dlzname, const char *drivername,
|
|||
|
||||
/* Allocate memory to hold the DLZ database driver */
|
||||
db = isc_mem_get(mctx, sizeof(dns_dlzdb_t));
|
||||
if (db == NULL) {
|
||||
RWUNLOCK(&dlz_implock, isc_rwlocktype_read);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
/* Make sure memory region is set to all 0's */
|
||||
memset(db, 0, sizeof(dns_dlzdb_t));
|
||||
|
|
@ -324,10 +320,6 @@ dns_dlzregister(const char *drivername, const dns_dlzmethods_t *methods,
|
|||
* we cannot.
|
||||
*/
|
||||
dlz_imp = isc_mem_get(mctx, sizeof(dns_dlzimplementation_t));
|
||||
if (dlz_imp == NULL) {
|
||||
RWUNLOCK(&dlz_implock, isc_rwlocktype_write);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
/* Make sure memory region is set to all 0's */
|
||||
memset(dlz_imp, 0, sizeof(dns_dlzimplementation_t));
|
||||
|
|
|
|||
|
|
@ -74,8 +74,6 @@ dns_dns64_create(isc_mem_t *mctx, const isc_netaddr_t *prefix,
|
|||
}
|
||||
|
||||
dns64 = isc_mem_get(mctx, sizeof(dns_dns64_t));
|
||||
if (dns64 == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memset(dns64->bits, 0, sizeof(dns64->bits));
|
||||
memmove(dns64->bits, prefix->type.in6.s6_addr, prefixlen / 8);
|
||||
if (suffix != NULL)
|
||||
|
|
|
|||
|
|
@ -251,10 +251,6 @@ dns_dnsrps_rewrite_init(librpz_emsg_t *emsg, dns_rpz_st_t *st,
|
|||
rpsdb_t *rpsdb;
|
||||
|
||||
rpsdb = isc_mem_get(mctx, sizeof(*rpsdb));
|
||||
if (rpsdb == NULL) {
|
||||
strlcpy(emsg->c, "no memory", sizeof(emsg->c));
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
memset(rpsdb, 0, sizeof(*rpsdb));
|
||||
|
||||
if (!librpz->rsp_create(emsg, &rpsdb->rsp, NULL,
|
||||
|
|
@ -628,8 +624,6 @@ rpsdb_allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
|||
REQUIRE(node == &rpsdb->origin_node || node == &rpsdb->data_node);
|
||||
|
||||
rpsdb_iter = isc_mem_get(rpsdb->common.mctx, sizeof(*rpsdb_iter));
|
||||
if (rpsdb_iter == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
memset(rpsdb_iter, 0, sizeof(*rpsdb_iter));
|
||||
rpsdb_iter->common.magic = DNS_RDATASETITER_MAGIC;
|
||||
|
|
|
|||
|
|
@ -103,8 +103,6 @@ rdataset_to_sortedarray(dns_rdataset_t *set, isc_mem_t *mctx,
|
|||
n = dns_rdataset_count(set);
|
||||
|
||||
data = isc_mem_get(mctx, n * sizeof(dns_rdata_t));
|
||||
if (data == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
dns_rdataset_init(&rdataset);
|
||||
dns_rdataset_clone(set, &rdataset);
|
||||
|
|
@ -257,8 +255,6 @@ dns_dnssec_sign(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
|
|||
* they're not used in digest_sig().
|
||||
*/
|
||||
sig.signature = isc_mem_get(mctx, sig.siglen);
|
||||
if (sig.signature == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
ret = isc_buffer_allocate(mctx, &databuf, sigsize + 256 + 18);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
|
|
@ -960,11 +956,7 @@ dns_dnssec_signmessage(dns_message_t *msg, dst_key_t *key) {
|
|||
|
||||
RETERR(dst_key_sigsize(key, &sigsize));
|
||||
sig.siglen = sigsize;
|
||||
sig.signature = (unsigned char *) isc_mem_get(mctx, sig.siglen);
|
||||
if (sig.signature == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto failure;
|
||||
}
|
||||
sig.signature = isc_mem_get(mctx, sig.siglen);
|
||||
|
||||
isc_buffer_init(&sigbuf, sig.signature, sig.siglen);
|
||||
RETERR(dst_context_sign(ctx, &sigbuf));
|
||||
|
|
@ -1220,8 +1212,6 @@ dns_dnsseckey_create(isc_mem_t *mctx, dst_key_t **dstkey,
|
|||
|
||||
REQUIRE(dkp != NULL && *dkp == NULL);
|
||||
dk = isc_mem_get(mctx, sizeof(dns_dnsseckey_t));
|
||||
if (dk == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
dk->key = *dstkey;
|
||||
*dstkey = NULL;
|
||||
|
|
|
|||
|
|
@ -440,9 +440,7 @@ toregion(dns_dtenv_t *env, isc_region_t *r, const char *str) {
|
|||
REQUIRE(r != NULL);
|
||||
|
||||
if (str != NULL) {
|
||||
p = (unsigned char *) isc_mem_strdup(env->mctx, str);
|
||||
if (p == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
p = (unsigned char *)isc_mem_strdup(env->mctx, str);
|
||||
}
|
||||
|
||||
if (r->base != NULL) {
|
||||
|
|
@ -1005,8 +1003,6 @@ dns_dt_open(const char *filename, dns_dtmode_t mode, isc_mem_t *mctx,
|
|||
REQUIRE(handlep != NULL && *handlep == NULL);
|
||||
|
||||
handle = isc_mem_get(mctx, sizeof(*handle));
|
||||
if (handle == NULL)
|
||||
CHECK(ISC_R_NOMEMORY);
|
||||
|
||||
handle->mode = mode;
|
||||
handle->mctx = NULL;
|
||||
|
|
@ -1107,8 +1103,6 @@ dns_dt_parse(isc_mem_t *mctx, isc_region_t *src, dns_dtdata_t **destp) {
|
|||
REQUIRE(destp != NULL && *destp == NULL);
|
||||
|
||||
d = isc_mem_get(mctx, sizeof(*d));
|
||||
if (d == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
memset(d, 0, sizeof(*d));
|
||||
isc_mem_attach(mctx, &d->mctx);
|
||||
|
|
|
|||
|
|
@ -239,8 +239,6 @@ dst_context_create(dst_key_t *key, isc_mem_t *mctx,
|
|||
return (DST_R_NULLKEY);
|
||||
|
||||
dctx = isc_mem_get(mctx, sizeof(dst_context_t));
|
||||
if (dctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memset(dctx, 0, sizeof(*dctx));
|
||||
dst_key_attach(key, &dctx->key);
|
||||
isc_mem_attach(mctx, &dctx->mctx);
|
||||
|
|
@ -508,8 +506,6 @@ dst_key_fromnamedfile(const char *filename, const char *dirname,
|
|||
if (dirname != NULL)
|
||||
newfilenamelen += strlen(dirname) + 1;
|
||||
newfilename = isc_mem_get(mctx, newfilenamelen);
|
||||
if (newfilename == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
result = addsuffix(newfilename, newfilenamelen,
|
||||
dirname, filename, ".key");
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
|
|
@ -552,8 +548,6 @@ dst_key_fromnamedfile(const char *filename, const char *dirname,
|
|||
if (dirname != NULL)
|
||||
newfilenamelen += strlen(dirname) + 1;
|
||||
newfilename = isc_mem_get(mctx, newfilenamelen);
|
||||
if (newfilename == NULL)
|
||||
RETERR(ISC_R_NOMEMORY);
|
||||
result = addsuffix(newfilename, newfilenamelen,
|
||||
dirname, filename, ".private");
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
|
|
@ -1275,17 +1269,11 @@ get_key_struct(const dns_name_t *name, unsigned int alg,
|
|||
isc_result_t result;
|
||||
int i;
|
||||
|
||||
key = (dst_key_t *) isc_mem_get(mctx, sizeof(dst_key_t));
|
||||
if (key == NULL)
|
||||
return (NULL);
|
||||
key = isc_mem_get(mctx, sizeof(dst_key_t));
|
||||
|
||||
memset(key, 0, sizeof(dst_key_t));
|
||||
|
||||
key->key_name = isc_mem_get(mctx, sizeof(dns_name_t));
|
||||
if (key->key_name == NULL) {
|
||||
isc_mem_put(mctx, key, sizeof(dst_key_t));
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
dns_name_init(key->key_name, NULL);
|
||||
result = dns_name_dup(name, mctx, key->key_name);
|
||||
|
|
|
|||
|
|
@ -541,9 +541,7 @@ dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex,
|
|||
|
||||
priv->elements[n].tag = tag;
|
||||
|
||||
data = (unsigned char *) isc_mem_get(mctx, MAXFIELDSIZE);
|
||||
if (data == NULL)
|
||||
goto fail;
|
||||
data = isc_mem_get(mctx, MAXFIELDSIZE);
|
||||
|
||||
isc_buffer_init(&b, data, MAXFIELDSIZE);
|
||||
ret = isc_base64_tobuffer(lex, &b, -1);
|
||||
|
|
|
|||
|
|
@ -161,8 +161,6 @@ load_library(isc_mem_t *mctx, const char *filename, const char *instname,
|
|||
(void **)&destroy_func));
|
||||
|
||||
imp = isc_mem_get(mctx, sizeof(dyndb_implementation_t));
|
||||
if (imp == NULL)
|
||||
CHECK(ISC_R_NOMEMORY);
|
||||
|
||||
imp->mctx = NULL;
|
||||
isc_mem_attach(mctx, &imp->mctx);
|
||||
|
|
@ -170,8 +168,6 @@ load_library(isc_mem_t *mctx, const char *filename, const char *instname,
|
|||
imp->register_func = register_func;
|
||||
imp->destroy_func = destroy_func;
|
||||
imp->name = isc_mem_strdup(mctx, instname);
|
||||
if (imp->name == NULL)
|
||||
CHECK(ISC_R_NOMEMORY);
|
||||
|
||||
imp->inst = NULL;
|
||||
INIT_LINK(imp, link);
|
||||
|
|
@ -277,8 +273,6 @@ load_library(isc_mem_t *mctx, const char *filename, const char *instname,
|
|||
(void **)&destroy_func));
|
||||
|
||||
imp = isc_mem_get(mctx, sizeof(dyndb_implementation_t));
|
||||
if (imp == NULL)
|
||||
CHECK(ISC_R_NOMEMORY);
|
||||
|
||||
imp->mctx = NULL;
|
||||
isc_mem_attach(mctx, &imp->mctx);
|
||||
|
|
@ -286,8 +280,6 @@ load_library(isc_mem_t *mctx, const char *filename, const char *instname,
|
|||
imp->register_func = register_func;
|
||||
imp->destroy_func = destroy_func;
|
||||
imp->name = isc_mem_strdup(mctx, instname);
|
||||
if (imp->name == NULL)
|
||||
CHECK(ISC_R_NOMEMORY);
|
||||
|
||||
imp->inst = NULL;
|
||||
INIT_LINK(imp, link);
|
||||
|
|
@ -419,8 +411,6 @@ dns_dyndb_createctx(isc_mem_t *mctx, const void *hashinit, isc_log_t *lctx,
|
|||
REQUIRE(dctxp != NULL && *dctxp == NULL);
|
||||
|
||||
dctx = isc_mem_get(mctx, sizeof(*dctx));
|
||||
if (dctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
memset(dctx, 0, sizeof(*dctx));
|
||||
if (view != NULL)
|
||||
|
|
|
|||
|
|
@ -343,8 +343,6 @@ findnode(dns_db_t *db, const dns_name_t *name, bool create,
|
|||
|
||||
mctx = ecdb->common.mctx;
|
||||
node = isc_mem_get(mctx, sizeof(*node));
|
||||
if (node == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
isc_mutex_init(&node->lock);
|
||||
|
||||
|
|
@ -511,8 +509,6 @@ allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
|||
mctx = ecdb->common.mctx;
|
||||
|
||||
iterator = isc_mem_get(mctx, sizeof(ecdb_rdatasetiter_t));
|
||||
if (iterator == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
iterator->common.magic = DNS_RDATASETITER_MAGIC;
|
||||
iterator->common.methods = &rdatasetiter_methods;
|
||||
|
|
@ -596,8 +592,6 @@ dns_ecdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
|
|||
UNUSED(driverarg);
|
||||
|
||||
ecdb = isc_mem_get(mctx, sizeof(*ecdb));
|
||||
if (ecdb == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
ecdb->common.attributes = DNS_DBATTR_CACHE;
|
||||
ecdb->common.rdclass = rdclass;
|
||||
|
|
|
|||
|
|
@ -44,8 +44,6 @@ dns_fwdtable_create(isc_mem_t *mctx, dns_fwdtable_t **fwdtablep) {
|
|||
REQUIRE(fwdtablep != NULL && *fwdtablep == NULL);
|
||||
|
||||
fwdtable = isc_mem_get(mctx, sizeof(dns_fwdtable_t));
|
||||
if (fwdtable == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
fwdtable->table = NULL;
|
||||
result = dns_rbt_create(mctx, auto_detach, fwdtable, &fwdtable->table);
|
||||
|
|
@ -83,8 +81,6 @@ dns_fwdtable_addfwd(dns_fwdtable_t *fwdtable, const dns_name_t *name,
|
|||
REQUIRE(VALID_FWDTABLE(fwdtable));
|
||||
|
||||
forwarders = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarders_t));
|
||||
if (forwarders == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
ISC_LIST_INIT(forwarders->fwdrs);
|
||||
for (fwd = ISC_LIST_HEAD(*fwdrs);
|
||||
|
|
@ -92,10 +88,6 @@ dns_fwdtable_addfwd(dns_fwdtable_t *fwdtable, const dns_name_t *name,
|
|||
fwd = ISC_LIST_NEXT(fwd, link))
|
||||
{
|
||||
nfwd = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarder_t));
|
||||
if (nfwd == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
*nfwd = *fwd;
|
||||
ISC_LINK_INIT(nfwd, link);
|
||||
ISC_LIST_APPEND(forwarders->fwdrs, nfwd, link);
|
||||
|
|
@ -133,8 +125,6 @@ dns_fwdtable_add(dns_fwdtable_t *fwdtable, const dns_name_t *name,
|
|||
REQUIRE(VALID_FWDTABLE(fwdtable));
|
||||
|
||||
forwarders = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarders_t));
|
||||
if (forwarders == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
ISC_LIST_INIT(forwarders->fwdrs);
|
||||
for (sa = ISC_LIST_HEAD(*addrs);
|
||||
|
|
@ -142,10 +132,6 @@ dns_fwdtable_add(dns_fwdtable_t *fwdtable, const dns_name_t *name,
|
|||
sa = ISC_LIST_NEXT(sa, link))
|
||||
{
|
||||
fwd = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarder_t));
|
||||
if (fwd == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
fwd->addr = *sa;
|
||||
fwd->dscp = -1;
|
||||
ISC_LINK_INIT(fwd, link);
|
||||
|
|
|
|||
|
|
@ -145,8 +145,7 @@ set_state(const MMDB_s *db, const isc_netaddr_t *addr,
|
|||
|
||||
state = (geoip_state_t *) isc_thread_key_getspecific(state_key);
|
||||
if (state == NULL) {
|
||||
state = (geoip_state_t *) isc_mem_get(state_mctx,
|
||||
sizeof(geoip_state_t));
|
||||
state = isc_mem_get(state_mctx, sizeof(geoip_state_t));
|
||||
memset(state, 0, sizeof(*state));
|
||||
|
||||
result = isc_thread_key_setspecific(state_key, state);
|
||||
|
|
|
|||
|
|
@ -59,8 +59,6 @@ gssapi_create_signverify_ctx(dst_key_t *key, dst_context_t *dctx) {
|
|||
UNUSED(key);
|
||||
|
||||
ctx = isc_mem_get(dctx->mctx, sizeof(dst_gssapi_signverifyctx_t));
|
||||
if (ctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
ctx->buffer = NULL;
|
||||
result = isc_buffer_allocate(dctx->mctx, &ctx->buffer,
|
||||
INITIAL_BUFFER_SIZE);
|
||||
|
|
@ -322,10 +320,6 @@ gssapi_dump(dst_key_t *key, isc_mem_t *mctx, char **buffer, int *length) {
|
|||
return (ISC_R_FAILURE);
|
||||
len = ((gssbuffer.length + 2)/3) * 4;
|
||||
buf = isc_mem_get(mctx, len);
|
||||
if (buf == NULL) {
|
||||
gss_release_buffer(&minor, &gssbuffer);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
isc_buffer_init(&b, buf, (unsigned int)len);
|
||||
GBUFFER_TO_REGION(gssbuffer, r);
|
||||
result = isc_base64_totext(&r, 0, "", &b);
|
||||
|
|
|
|||
|
|
@ -348,9 +348,6 @@ hmac_fromdns(isc_md_type_t type, dst_key_t *key, isc_buffer_t *data) {
|
|||
}
|
||||
|
||||
hkey = isc_mem_get(key->mctx, sizeof(dst_hmac_key_t));
|
||||
if (hkey == NULL) {
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
memset(hkey->key, 0, sizeof(hkey->key));
|
||||
|
||||
|
|
|
|||
|
|
@ -483,7 +483,7 @@ dns_zone_setdb(dns_zone_t *zone, dns_db_t *db);
|
|||
*\li zone doesn't have a database.
|
||||
*/
|
||||
|
||||
isc_result_t
|
||||
void
|
||||
dns_zone_setdbtype(dns_zone_t *zone,
|
||||
unsigned int dbargc, const char * const *dbargv);
|
||||
/*%<
|
||||
|
|
@ -496,10 +496,6 @@ dns_zone_setdbtype(dns_zone_t *zone,
|
|||
*\li 'database' to be non NULL.
|
||||
*\li 'dbargc' to be >= 1
|
||||
*\li 'dbargv' to point to dbargc NULL-terminated strings
|
||||
*
|
||||
* Returns:
|
||||
*\li #ISC_R_NOMEMORY
|
||||
*\li #ISC_R_SUCCESS
|
||||
*/
|
||||
|
||||
isc_result_t
|
||||
|
|
|
|||
|
|
@ -103,10 +103,6 @@ dns_ipkeylist_copy(isc_mem_t *mctx, const dns_ipkeylist_t *src,
|
|||
if (src->keys[i] != NULL) {
|
||||
dst->keys[i] = isc_mem_get(mctx,
|
||||
sizeof(dns_name_t));
|
||||
if (dst->keys[i] == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_keys;
|
||||
}
|
||||
dns_name_init(dst->keys[i], NULL);
|
||||
result = dns_name_dup(src->keys[i], mctx,
|
||||
dst->keys[i]);
|
||||
|
|
@ -122,11 +118,7 @@ dns_ipkeylist_copy(isc_mem_t *mctx, const dns_ipkeylist_t *src,
|
|||
for (i = 0; i < src->count; i++) {
|
||||
if (src->labels[i] != NULL) {
|
||||
dst->labels[i] = isc_mem_get(mctx,
|
||||
sizeof(dns_name_t));
|
||||
if (dst->labels[i] == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_labels;
|
||||
}
|
||||
sizeof(dns_name_t));
|
||||
dns_name_init(dst->labels[i], NULL);
|
||||
result = dns_name_dup(src->labels[i], mctx,
|
||||
dst->labels[i]);
|
||||
|
|
@ -177,17 +169,9 @@ dns_ipkeylist_resize(isc_mem_t *mctx, dns_ipkeylist_t *ipkl, unsigned int n) {
|
|||
return (ISC_R_SUCCESS);
|
||||
|
||||
addrs = isc_mem_get(mctx, n * sizeof(isc_sockaddr_t));
|
||||
if (addrs == NULL)
|
||||
goto nomemory;
|
||||
dscps = isc_mem_get(mctx, n * sizeof(isc_dscp_t));
|
||||
if (dscps == NULL)
|
||||
goto nomemory;
|
||||
keys = isc_mem_get(mctx, n * sizeof(dns_name_t *));
|
||||
if (keys == NULL)
|
||||
goto nomemory;
|
||||
labels = isc_mem_get(mctx, n * sizeof(dns_name_t *));
|
||||
if (labels == NULL)
|
||||
goto nomemory;
|
||||
|
||||
if (ipkl->addrs != NULL) {
|
||||
memmove(addrs, ipkl->addrs,
|
||||
|
|
@ -232,15 +216,10 @@ dns_ipkeylist_resize(isc_mem_t *mctx, dns_ipkeylist_t *ipkl, unsigned int n) {
|
|||
ipkl->allocated = n;
|
||||
return (ISC_R_SUCCESS);
|
||||
|
||||
nomemory:
|
||||
if (addrs != NULL)
|
||||
isc_mem_put(mctx, addrs, n * sizeof(isc_sockaddr_t));
|
||||
if (dscps != NULL)
|
||||
isc_mem_put(mctx, dscps, n * sizeof(isc_dscp_t));
|
||||
if (keys != NULL)
|
||||
isc_mem_put(mctx, keys, n * sizeof(dns_name_t *));
|
||||
if (labels != NULL)
|
||||
isc_mem_put(mctx, labels, n * sizeof(dns_name_t *));
|
||||
isc_mem_put(mctx, addrs, n * sizeof(isc_sockaddr_t));
|
||||
isc_mem_put(mctx, dscps, n * sizeof(isc_dscp_t));
|
||||
isc_mem_put(mctx, keys, n * sizeof(dns_name_t *));
|
||||
isc_mem_put(mctx, labels, n * sizeof(dns_name_t *));
|
||||
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,8 +29,6 @@ dns_iptable_create(isc_mem_t *mctx, dns_iptable_t **target) {
|
|||
dns_iptable_t *tab;
|
||||
|
||||
tab = isc_mem_get(mctx, sizeof(*tab));
|
||||
if (tab == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
tab->mctx = NULL;
|
||||
isc_mem_attach(mctx, &tab->mctx);
|
||||
isc_refcount_init(&tab->refcount, 1);
|
||||
|
|
|
|||
|
|
@ -514,11 +514,6 @@ journal_file_create(isc_mem_t *mctx, const char *filename) {
|
|||
index_size * sizeof(journal_rawpos_t);
|
||||
|
||||
mem = isc_mem_get(mctx, size);
|
||||
if (mem == NULL) {
|
||||
(void)isc_stdio_close(fp);
|
||||
(void)isc_file_remove(filename);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
memset(mem, 0, size);
|
||||
memmove(mem, &rawheader, sizeof(rawheader));
|
||||
|
||||
|
|
@ -557,8 +552,6 @@ journal_open(isc_mem_t *mctx, const char *filename, bool writable,
|
|||
|
||||
INSIST(journalp != NULL && *journalp == NULL);
|
||||
j = isc_mem_get(mctx, sizeof(*j));
|
||||
if (j == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
j->mctx = NULL;
|
||||
isc_mem_attach(mctx, &j->mctx);
|
||||
|
|
@ -624,15 +617,11 @@ journal_open(isc_mem_t *mctx, const char *filename, bool writable,
|
|||
|
||||
rawbytes = j->header.index_size * sizeof(journal_rawpos_t);
|
||||
j->rawindex = isc_mem_get(mctx, rawbytes);
|
||||
if (j->rawindex == NULL)
|
||||
FAIL(ISC_R_NOMEMORY);
|
||||
|
||||
CHECK(journal_read(j, j->rawindex, rawbytes));
|
||||
|
||||
j->index = isc_mem_get(mctx, j->header.index_size *
|
||||
sizeof(journal_pos_t));
|
||||
if (j->index == NULL)
|
||||
FAIL(ISC_R_NOMEMORY);
|
||||
j->index = isc_mem_get(mctx,
|
||||
j->header.index_size * sizeof(journal_pos_t));
|
||||
|
||||
p = j->rawindex;
|
||||
for (i = 0; i < j->header.index_size; i++) {
|
||||
|
|
@ -1047,8 +1036,6 @@ dns_journal_writediff(dns_journal_t *j, dns_diff_t *diff) {
|
|||
}
|
||||
|
||||
mem = isc_mem_get(j->mctx, size);
|
||||
if (mem == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
isc_buffer_init(&buffer, mem, size);
|
||||
|
||||
|
|
@ -2232,10 +2219,6 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial,
|
|||
if (copy_length < size)
|
||||
size = copy_length;
|
||||
buf = isc_mem_get(mctx, size);
|
||||
if (buf == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto failure;
|
||||
}
|
||||
|
||||
CHECK(journal_seek(j1, best_guess.offset));
|
||||
CHECK(journal_seek(j2, indexend));
|
||||
|
|
|
|||
|
|
@ -42,8 +42,6 @@ dns_keydata_todnskey(dns_rdata_keydata_t *keydata,
|
|||
dnskey->data = keydata->data;
|
||||
else {
|
||||
dnskey->data = isc_mem_allocate(mctx, dnskey->datalen);
|
||||
if (dnskey->data == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memmove(dnskey->data, keydata->data, dnskey->datalen);
|
||||
}
|
||||
|
||||
|
|
@ -73,8 +71,6 @@ dns_keydata_fromdnskey(dns_rdata_keydata_t *keydata,
|
|||
keydata->data = dnskey->data;
|
||||
else {
|
||||
keydata->data = isc_mem_allocate(mctx, keydata->datalen);
|
||||
if (keydata->data == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memmove(keydata->data, dnskey->data, keydata->datalen);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -72,9 +72,6 @@ dns_keytable_create(isc_mem_t *mctx, dns_keytable_t **keytablep) {
|
|||
REQUIRE(keytablep != NULL && *keytablep == NULL);
|
||||
|
||||
keytable = isc_mem_get(mctx, sizeof(*keytable));
|
||||
if (keytable == NULL) {
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
keytable->table = NULL;
|
||||
result = dns_rbt_create(mctx, free_keynode, mctx, &keytable->table);
|
||||
|
|
@ -778,8 +775,6 @@ dns_keynode_create(isc_mem_t *mctx, dns_keynode_t **target) {
|
|||
REQUIRE(target != NULL && *target == NULL);
|
||||
|
||||
knode = isc_mem_get(mctx, sizeof(dns_keynode_t));
|
||||
if (knode == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
knode->magic = KEYNODE_MAGIC;
|
||||
knode->managed = false;
|
||||
|
|
|
|||
|
|
@ -102,10 +102,6 @@ build_event(dns_lookup_t *lookup) {
|
|||
isc_result_t result;
|
||||
|
||||
name = isc_mem_get(lookup->mctx, sizeof(dns_name_t));
|
||||
if (name == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto fail;
|
||||
}
|
||||
dns_name_init(name, NULL);
|
||||
result = dns_name_dup(dns_fixedname_name(&lookup->name),
|
||||
lookup->mctx, name);
|
||||
|
|
@ -114,10 +110,6 @@ build_event(dns_lookup_t *lookup) {
|
|||
|
||||
if (dns_rdataset_isassociated(&lookup->rdataset)) {
|
||||
rdataset = isc_mem_get(lookup->mctx, sizeof(dns_rdataset_t));
|
||||
if (rdataset == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto fail;
|
||||
}
|
||||
dns_rdataset_init(rdataset);
|
||||
dns_rdataset_clone(&lookup->rdataset, rdataset);
|
||||
}
|
||||
|
|
@ -125,10 +117,6 @@ build_event(dns_lookup_t *lookup) {
|
|||
if (dns_rdataset_isassociated(&lookup->sigrdataset)) {
|
||||
sigrdataset = isc_mem_get(lookup->mctx,
|
||||
sizeof(dns_rdataset_t));
|
||||
if (sigrdataset == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto fail;
|
||||
}
|
||||
dns_rdataset_init(sigrdataset);
|
||||
dns_rdataset_clone(&lookup->sigrdataset, sigrdataset);
|
||||
}
|
||||
|
|
@ -383,8 +371,6 @@ dns_lookup_create(isc_mem_t *mctx, const dns_name_t *name, dns_rdatatype_t type,
|
|||
isc_event_t *ievent;
|
||||
|
||||
lookup = isc_mem_get(mctx, sizeof(*lookup));
|
||||
if (lookup == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
lookup->mctx = NULL;
|
||||
isc_mem_attach(mctx, &lookup->mctx);
|
||||
lookup->options = options;
|
||||
|
|
|
|||
|
|
@ -469,8 +469,6 @@ incctx_create(isc_mem_t *mctx, dns_name_t *origin, dns_incctx_t **ictxp) {
|
|||
int i;
|
||||
|
||||
ictx = isc_mem_get(mctx, sizeof(*ictx));
|
||||
if (ictx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
for (i = 0; i < NBUFS; i++) {
|
||||
dns_fixedname_init(&ictx->fixed[i]);
|
||||
|
|
@ -523,8 +521,6 @@ loadctx_create(dns_masterformat_t format, isc_mem_t *mctx,
|
|||
(task != NULL && done != NULL));
|
||||
|
||||
lctx = isc_mem_get(mctx, sizeof(*lctx));
|
||||
if (lctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
lctx->inc = NULL;
|
||||
result = incctx_create(mctx, origin, &lctx->inc);
|
||||
|
|
@ -963,8 +959,6 @@ check_ns(dns_loadctx_t *lctx, isc_token_t *token, const char *source,
|
|||
struct in6_addr addr6;
|
||||
|
||||
tmp = isc_mem_strdup(lctx->mctx, DNS_AS_STR(*token));
|
||||
if (tmp == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
/*
|
||||
* Catch both "1.2.3.4" and "1.2.3.4."
|
||||
*/
|
||||
|
|
@ -1082,10 +1076,6 @@ load_text(dns_loadctx_t *lctx) {
|
|||
* the maximum individual RR data size.
|
||||
*/
|
||||
target_mem = isc_mem_get(mctx, target_size);
|
||||
if (target_mem == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto log_and_cleanup;
|
||||
}
|
||||
isc_buffer_init(&target, target_mem, target_size);
|
||||
target_save = target;
|
||||
|
||||
|
|
@ -1197,11 +1187,7 @@ load_text(dns_loadctx_t *lctx) {
|
|||
if (include_file != NULL)
|
||||
isc_mem_free(mctx, include_file);
|
||||
include_file = isc_mem_strdup(mctx,
|
||||
DNS_AS_STR(token));
|
||||
if (include_file == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto log_and_cleanup;
|
||||
}
|
||||
DNS_AS_STR(token));
|
||||
GETTOKEN(lctx->lex, 0, &token, true);
|
||||
|
||||
if (token.type == isc_tokentype_eol ||
|
||||
|
|
@ -1283,18 +1269,10 @@ load_text(dns_loadctx_t *lctx) {
|
|||
/* RANGE */
|
||||
GETTOKEN(lctx->lex, 0, &token, false);
|
||||
range = isc_mem_strdup(mctx,
|
||||
DNS_AS_STR(token));
|
||||
if (range == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto log_and_cleanup;
|
||||
}
|
||||
DNS_AS_STR(token));
|
||||
/* LHS */
|
||||
GETTOKEN(lctx->lex, 0, &token, false);
|
||||
lhs = isc_mem_strdup(mctx, DNS_AS_STR(token));
|
||||
if (lhs == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto log_and_cleanup;
|
||||
}
|
||||
rdclass = 0;
|
||||
explicit_ttl = false;
|
||||
/* CLASS? */
|
||||
|
|
@ -1326,18 +1304,10 @@ load_text(dns_loadctx_t *lctx) {
|
|||
/* TYPE */
|
||||
gtype = isc_mem_strdup(mctx,
|
||||
DNS_AS_STR(token));
|
||||
if (gtype == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto log_and_cleanup;
|
||||
}
|
||||
/* RHS */
|
||||
GETTOKEN(lctx->lex, ISC_LEXOPT_QSTRING,
|
||||
&token, false);
|
||||
rhs = isc_mem_strdup(mctx, DNS_AS_STR(token));
|
||||
if (rhs == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto log_and_cleanup;
|
||||
}
|
||||
if (!lctx->ttl_known &&
|
||||
!lctx->default_ttl_known) {
|
||||
(*callbacks->error)(callbacks,
|
||||
|
|
@ -2331,10 +2301,6 @@ load_raw(dns_loadctx_t *lctx) {
|
|||
* the maximum individual RR data size.
|
||||
*/
|
||||
target_mem = isc_mem_get(mctx, target_size);
|
||||
if (target_mem == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
isc_buffer_init(&target, target_mem, target_size);
|
||||
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
|
|
|
|||
|
|
@ -914,8 +914,6 @@ dump_rdataset(isc_mem_t *mctx, const dns_name_t *name,
|
|||
|
||||
newlength = buffer->length * 2;
|
||||
newmem = isc_mem_get(mctx, newlength);
|
||||
if (newmem == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
isc_mem_put(mctx, buffer->base, buffer->length);
|
||||
isc_buffer_init(buffer, newmem, newlength);
|
||||
}
|
||||
|
|
@ -1158,8 +1156,6 @@ dump_rdataset_raw(isc_mem_t *mctx, const dns_name_t *name,
|
|||
|
||||
newlength = buffer->length * 2;
|
||||
newmem = isc_mem_get(mctx, newlength);
|
||||
if (newmem == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
isc_mem_put(mctx, buffer->base, buffer->length);
|
||||
isc_buffer_init(buffer, newmem, newlength);
|
||||
goto restart;
|
||||
|
|
@ -1456,8 +1452,6 @@ dumpctx_create(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version,
|
|||
unsigned int options;
|
||||
|
||||
dctx = isc_mem_get(mctx, sizeof(*dctx));
|
||||
if (dctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
dctx->mctx = NULL;
|
||||
dctx->f = f;
|
||||
|
|
@ -1557,8 +1551,6 @@ writeheader(dns_dumpctx_t *dctx) {
|
|||
uint32_t rawversion, now32;
|
||||
|
||||
bufmem = isc_mem_get(dctx->mctx, initial_buffer_length);
|
||||
if (bufmem == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
isc_buffer_init(&buffer, bufmem, initial_buffer_length);
|
||||
|
||||
|
|
@ -1632,8 +1624,6 @@ dumptostreaminc(dns_dumpctx_t *dctx) {
|
|||
isc_time_t start;
|
||||
|
||||
bufmem = isc_mem_get(dctx->mctx, initial_buffer_length);
|
||||
if (bufmem == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
isc_buffer_init(&buffer, bufmem, initial_buffer_length);
|
||||
|
||||
|
|
@ -1814,8 +1804,6 @@ opentmp(isc_mem_t *mctx, dns_masterformat_t format, const char *file,
|
|||
|
||||
tempnamelen = strlen(file) + 20;
|
||||
tempname = isc_mem_allocate(mctx, tempnamelen);
|
||||
if (tempname == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
result = isc_file_mktemplate(file, tempname, tempnamelen);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
|
|
@ -1855,8 +1843,6 @@ dns_master_dumpinc(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version,
|
|||
dns_dumpctx_t *dctx = NULL;
|
||||
|
||||
file = isc_mem_strdup(mctx, filename);
|
||||
if (file == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
result = opentmp(mctx, format, filename, &tempname, &f);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
|
|
@ -1953,8 +1939,6 @@ dns_master_dumpnodetostream(isc_mem_t *mctx, dns_db_t *db,
|
|||
isc_stdtime_get(&now);
|
||||
|
||||
bufmem = isc_mem_get(mctx, initial_buffer_length);
|
||||
if (bufmem == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
isc_buffer_init(&buffer, bufmem, initial_buffer_length);
|
||||
|
||||
|
|
@ -2031,8 +2015,6 @@ dns_master_stylecreate(dns_master_style_t **stylep,
|
|||
|
||||
REQUIRE(stylep != NULL && *stylep == NULL);
|
||||
style = isc_mem_get(mctx, sizeof(*style));
|
||||
if (style == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
style->flags = flags;
|
||||
style->ttl_column = ttl_column;
|
||||
|
|
|
|||
|
|
@ -189,8 +189,6 @@ msgblock_allocate(isc_mem_t *mctx, unsigned int sizeof_type,
|
|||
length = sizeof(dns_msgblock_t) + (sizeof_type * count);
|
||||
|
||||
block = isc_mem_get(mctx, length);
|
||||
if (block == NULL)
|
||||
return (NULL);
|
||||
|
||||
block->count = count;
|
||||
block->remaining = count;
|
||||
|
|
@ -713,8 +711,6 @@ dns_message_create(isc_mem_t *mctx, unsigned int intent, dns_message_t **msgp)
|
|||
|| intent == DNS_MESSAGE_INTENTRENDER);
|
||||
|
||||
m = isc_mem_get(mctx, sizeof(dns_message_t));
|
||||
if (m == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
/*
|
||||
* No allocations until further notice. Just initialize all lists
|
||||
|
|
@ -1768,8 +1764,6 @@ dns_message_parse(dns_message_t *msg, isc_buffer_t *source,
|
|||
else {
|
||||
msg->saved.length = isc_buffer_usedlength(&origsource);
|
||||
msg->saved.base = isc_mem_get(msg->mctx, msg->saved.length);
|
||||
if (msg->saved.base == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memmove(msg->saved.base, isc_buffer_base(&origsource),
|
||||
msg->saved.length);
|
||||
msg->free_saved = 1;
|
||||
|
|
@ -4302,8 +4296,6 @@ logfmtpacket(dns_message_t *message, const char *description,
|
|||
|
||||
do {
|
||||
buf = isc_mem_get(mctx, len);
|
||||
if (buf == NULL)
|
||||
break;
|
||||
isc_buffer_init(&buffer, buf, len);
|
||||
result = dns_message_totext(message, style, 0, &buffer);
|
||||
if (result == ISC_R_NOSPACE) {
|
||||
|
|
|
|||
|
|
@ -2177,8 +2177,6 @@ dns_name_dup(const dns_name_t *source, isc_mem_t *mctx,
|
|||
MAKE_EMPTY(target);
|
||||
|
||||
target->ndata = isc_mem_get(mctx, source->length);
|
||||
if (target->ndata == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
memmove(target->ndata, source->ndata, source->length);
|
||||
|
||||
|
|
@ -2219,8 +2217,6 @@ dns_name_dupwithoffsets(const dns_name_t *source, isc_mem_t *mctx,
|
|||
MAKE_EMPTY(target);
|
||||
|
||||
target->ndata = isc_mem_get(mctx, source->length + source->labels);
|
||||
if (target->ndata == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
memmove(target->ndata, source->ndata, source->length);
|
||||
|
||||
|
|
@ -2353,8 +2349,6 @@ dns_name_settotextfilter(dns_name_totextfilter_t proc) {
|
|||
}
|
||||
|
||||
mem = isc_mem_get(thread_key_mctx, sizeof(*mem));
|
||||
if (mem == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
*mem = proc;
|
||||
if (isc_thread_key_setspecific(totext_filter_proc_key, mem) != 0) {
|
||||
isc_mem_put(thread_key_mctx, mem, sizeof(*mem));
|
||||
|
|
@ -2408,8 +2402,6 @@ dns_name_tostring(const dns_name_t *name, char **target, isc_mem_t *mctx) {
|
|||
|
||||
isc_buffer_usedregion(&buf, ®);
|
||||
p = isc_mem_allocate(mctx, reg.length + 1);
|
||||
if (p == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memmove(p, (char *) reg.base, (int) reg.length);
|
||||
p[reg.length] = '\0';
|
||||
|
||||
|
|
|
|||
|
|
@ -110,8 +110,6 @@ dns_ntatable_create(dns_view_t *view,
|
|||
REQUIRE(ntatablep != NULL && *ntatablep == NULL);
|
||||
|
||||
ntatable = isc_mem_get(view->mctx, sizeof(*ntatable));
|
||||
if (ntatable == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
ntatable->task = NULL;
|
||||
result = isc_task_create(taskmgr, 0, &ntatable->task);
|
||||
|
|
@ -301,8 +299,6 @@ nta_create(dns_ntatable_t *ntatable, const dns_name_t *name,
|
|||
view = ntatable->view;
|
||||
|
||||
nta = isc_mem_get(view->mctx, sizeof(dns_nta_t));
|
||||
if (nta == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
nta->ntatable = ntatable;
|
||||
nta->expiry = 0;
|
||||
|
|
|
|||
|
|
@ -113,8 +113,6 @@ dst__openssl_init(isc_mem_t *mctx, const char *engine) {
|
|||
#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
nlocks = CRYPTO_num_locks();
|
||||
locks = isc_mem_allocate(dst__mctx, sizeof(isc_mutex_t) * nlocks);
|
||||
if (locks == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
isc_mutexblock_init(locks, nlocks);
|
||||
CRYPTO_set_locking_callback(lock_callback);
|
||||
# if defined(LIBRESSL_VERSION_NUMBER)
|
||||
|
|
|
|||
|
|
@ -588,10 +588,6 @@ openssldh_tofile(const dst_key_t *key, const char *directory) {
|
|||
memset(bufs, 0, sizeof(bufs));
|
||||
for (i = 0; i < 4; i++) {
|
||||
bufs[i] = isc_mem_get(key->mctx, BN_num_bytes(p));
|
||||
if (bufs[i] == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
|
||||
i = 0;
|
||||
|
|
@ -622,7 +618,7 @@ openssldh_tofile(const dst_key_t *key, const char *directory) {
|
|||
|
||||
priv.nelements = i;
|
||||
result = dst__privstruct_writefile(key, &priv, directory);
|
||||
fail:
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (bufs[i] == NULL)
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -488,8 +488,6 @@ opensslecdsa_tofile(const dst_key_t *key, const char *directory) {
|
|||
DST_RET (ISC_R_FAILURE);
|
||||
|
||||
buf = isc_mem_get(key->mctx, BN_num_bytes(privkey));
|
||||
if (buf == NULL)
|
||||
DST_RET (ISC_R_NOMEMORY);
|
||||
|
||||
priv.elements[0].tag = TAG_ECDSA_PRIVATEKEY;
|
||||
priv.elements[0].length = BN_num_bytes(privkey);
|
||||
|
|
|
|||
|
|
@ -625,8 +625,6 @@ openssleddsa_tofile(const dst_key_t *key, const char *directory) {
|
|||
if (key->key_alg == DST_ALG_ED25519) {
|
||||
len = DNS_KEY_ED25519SIZE;
|
||||
buf = isc_mem_get(key->mctx, len);
|
||||
if (buf == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
priv.elements[0].tag = TAG_EDDSA_PRIVATEKEY;
|
||||
priv.elements[0].length = len;
|
||||
ret = priv_ed25519_from_ossl(pkey, buf);
|
||||
|
|
@ -638,8 +636,6 @@ openssleddsa_tofile(const dst_key_t *key, const char *directory) {
|
|||
} else {
|
||||
len = DNS_KEY_ED448SIZE;
|
||||
buf = isc_mem_get(key->mctx, len);
|
||||
if (buf == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
priv.elements[0].tag = TAG_EDDSA_PRIVATEKEY;
|
||||
priv.elements[0].length = len;
|
||||
ret = priv_ed448_from_ossl(pkey, buf);
|
||||
|
|
|
|||
|
|
@ -702,10 +702,6 @@ opensslrsa_tofile(const dst_key_t *key, const char *directory) {
|
|||
|
||||
for (i = 0; i < 8; i++) {
|
||||
bufs[i] = isc_mem_get(key->mctx, BN_num_bytes(n));
|
||||
if (bufs[i] == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
|
||||
i = 0;
|
||||
|
|
@ -905,11 +901,7 @@ opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
|
|||
"ENGINE_load_private_key",
|
||||
ISC_R_NOTFOUND));
|
||||
key->engine = isc_mem_strdup(key->mctx, engine);
|
||||
if (key->engine == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
key->label = isc_mem_strdup(key->mctx, label);
|
||||
if (key->label == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
rsa = EVP_PKEY_get1_RSA(pkey);
|
||||
if (rsa == NULL)
|
||||
DST_RET(dst__openssl_toresult(DST_R_OPENSSLFAILURE));
|
||||
|
|
@ -1042,8 +1034,6 @@ opensslrsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
if (strchr(label, ':') == NULL)
|
||||
DST_RET(DST_R_NOENGINE);
|
||||
tmpengine = isc_mem_strdup(key->mctx, label);
|
||||
if (tmpengine == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
colon = strchr(tmpengine, ':');
|
||||
INSIST(colon != NULL);
|
||||
*colon = '\0';
|
||||
|
|
@ -1067,12 +1057,8 @@ opensslrsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
tmpengine = NULL;
|
||||
} else {
|
||||
key->engine = isc_mem_strdup(key->mctx, engine);
|
||||
if (key->engine == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
}
|
||||
key->label = isc_mem_strdup(key->mctx, label);
|
||||
if (key->label == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
rsa = EVP_PKEY_get1_RSA(pkey);
|
||||
if (rsa == NULL)
|
||||
DST_RET(dst__openssl_toresult(DST_R_OPENSSLFAILURE));
|
||||
|
|
|
|||
|
|
@ -51,8 +51,6 @@ dns_order_create(isc_mem_t *mctx, dns_order_t **orderp) {
|
|||
REQUIRE(orderp != NULL && *orderp == NULL);
|
||||
|
||||
order = isc_mem_get(mctx, sizeof(*order));
|
||||
if (order == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
ISC_LIST_INIT(order->ents);
|
||||
|
||||
|
|
@ -79,8 +77,6 @@ dns_order_add(dns_order_t *order, const dns_name_t *name,
|
|||
mode == DNS_RDATASETATTR_CYCLIC);
|
||||
|
||||
ent = isc_mem_get(order->mctx, sizeof(*ent));
|
||||
if (ent == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
dns_fixedname_init(&ent->name);
|
||||
RUNTIME_CHECK(dns_name_copy(name, dns_fixedname_name(&ent->name), NULL)
|
||||
|
|
|
|||
|
|
@ -59,8 +59,6 @@ dns_peerlist_new(isc_mem_t *mem, dns_peerlist_t **list) {
|
|||
REQUIRE(list != NULL);
|
||||
|
||||
l = isc_mem_get(mem, sizeof(*l));
|
||||
if (l == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
ISC_LIST_INIT(l->elements);
|
||||
l->mem = mem;
|
||||
|
|
@ -223,8 +221,6 @@ dns_peer_newprefix(isc_mem_t *mem, const isc_netaddr_t *addr,
|
|||
REQUIRE(peerptr != NULL);
|
||||
|
||||
peer = isc_mem_get(mem, sizeof(*peer));
|
||||
if (peer == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
peer->magic = DNS_PEER_MAGIC;
|
||||
peer->address = *addr;
|
||||
|
|
@ -653,8 +649,6 @@ dns_peer_setkeybycharp(dns_peer_t *peer, const char *keyval) {
|
|||
return (result);
|
||||
|
||||
name = isc_mem_get(peer->mem, sizeof(dns_name_t));
|
||||
if (name == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
dns_name_init(name, NULL);
|
||||
result = dns_name_dup(dns_fixedname_name(&fname), peer->mem, name);
|
||||
|
|
@ -683,9 +677,7 @@ dns_peer_settransfersource(dns_peer_t *peer,
|
|||
}
|
||||
if (transfer_source != NULL) {
|
||||
peer->transfer_source = isc_mem_get(peer->mem,
|
||||
sizeof(*peer->transfer_source));
|
||||
if (peer->transfer_source == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
sizeof(*peer->transfer_source));
|
||||
|
||||
*peer->transfer_source = *transfer_source;
|
||||
}
|
||||
|
|
@ -716,9 +708,7 @@ dns_peer_setnotifysource(dns_peer_t *peer,
|
|||
}
|
||||
if (notify_source != NULL) {
|
||||
peer->notify_source = isc_mem_get(peer->mem,
|
||||
sizeof(*peer->notify_source));
|
||||
if (peer->notify_source == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
sizeof(*peer->notify_source));
|
||||
|
||||
*peer->notify_source = *notify_source;
|
||||
}
|
||||
|
|
@ -747,9 +737,7 @@ dns_peer_setquerysource(dns_peer_t *peer, const isc_sockaddr_t *query_source) {
|
|||
}
|
||||
if (query_source != NULL) {
|
||||
peer->query_source = isc_mem_get(peer->mem,
|
||||
sizeof(*peer->query_source));
|
||||
if (peer->query_source == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
sizeof(*peer->query_source));
|
||||
|
||||
*peer->query_source = *query_source;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,10 +85,7 @@ pkcs11ecdsa_createctx(dst_key_t *key, dst_context_t *dctx) {
|
|||
else
|
||||
mech.mechanism = CKM_SHA384;
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(dctx->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(dctx->mctx, sizeof(*pk11_ctx));
|
||||
memset(pk11_ctx, 0, sizeof(*pk11_ctx));
|
||||
if (ec->ontoken && (dctx->use == DO_SIGN))
|
||||
slotid = ec->slot;
|
||||
|
|
@ -210,8 +207,6 @@ pkcs11ecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
INSIST(keyTemplate[5].type == attr->type);
|
||||
keyTemplate[5].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[5].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[5].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[5].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -220,8 +215,6 @@ pkcs11ecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
INSIST(keyTemplate[6].type == attr->type);
|
||||
keyTemplate[6].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[6].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[6].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[6].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -317,8 +310,6 @@ pkcs11ecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
|
|||
INSIST(keyTemplate[5].type == attr->type);
|
||||
keyTemplate[5].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[5].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[5].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[5].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -327,8 +318,6 @@ pkcs11ecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
|
|||
INSIST(keyTemplate[6].type == attr->type);
|
||||
keyTemplate[6].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[6].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[6].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[6].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -425,18 +414,14 @@ pkcs11ecdsa_compare(const dst_key_t *key1, const dst_key_t *key2) {
|
|||
|
||||
#define SETCURVE() \
|
||||
if (key->key_alg == DST_ALG_ECDSA256) { \
|
||||
attr->pValue = isc_mem_get(key->mctx, \
|
||||
sizeof(pk11_ecc_prime256v1)); \
|
||||
if (attr->pValue == NULL) \
|
||||
DST_RET(ISC_R_NOMEMORY); \
|
||||
attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecc_prime256v1)); \
|
||||
\
|
||||
memmove(attr->pValue, \
|
||||
pk11_ecc_prime256v1, sizeof(pk11_ecc_prime256v1)); \
|
||||
attr->ulValueLen = sizeof(pk11_ecc_prime256v1); \
|
||||
} else { \
|
||||
attr->pValue = isc_mem_get(key->mctx, \
|
||||
sizeof(pk11_ecc_secp384r1)); \
|
||||
if (attr->pValue == NULL) \
|
||||
DST_RET(ISC_R_NOMEMORY); \
|
||||
attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecc_secp384r1)); \
|
||||
\
|
||||
memmove(attr->pValue, \
|
||||
pk11_ecc_secp384r1, sizeof(pk11_ecc_secp384r1)); \
|
||||
attr->ulValueLen = sizeof(pk11_ecc_secp384r1); \
|
||||
|
|
@ -487,23 +472,16 @@ pkcs11ecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
|
|||
UNUSED(unused);
|
||||
UNUSED(callback);
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(key->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx));
|
||||
ret = pk11_get_session(pk11_ctx, OP_ECDSA, true, false,
|
||||
false, NULL, pk11_get_best_token(OP_ECDSA));
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
goto err;
|
||||
|
||||
ec = (pk11_object_t *) isc_mem_get(key->mctx, sizeof(*ec));
|
||||
if (ec == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
ec = isc_mem_get(key->mctx, sizeof(*ec));
|
||||
memset(ec, 0, sizeof(*ec));
|
||||
key->keydata.pkey = ec;
|
||||
ec->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 3);
|
||||
if (ec->repr == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
ec->repr = isc_mem_get(key->mctx, sizeof(*attr) * 3);
|
||||
memset(ec->repr, 0, sizeof(*attr) * 3);
|
||||
ec->attrcnt = 3;
|
||||
|
||||
|
|
@ -533,8 +511,6 @@ pkcs11ecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
|
|||
(pk11_ctx->session, pub, attr, 1),
|
||||
DST_R_CRYPTOFAILURE);
|
||||
attr->pValue = isc_mem_get(key->mctx, attr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memset(attr->pValue, 0, attr->ulValueLen);
|
||||
PK11_RET(pkcs_C_GetAttributeValue,
|
||||
(pk11_ctx->session, pub, attr, 1),
|
||||
|
|
@ -545,8 +521,6 @@ pkcs11ecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
|
|||
(pk11_ctx->session, priv, attr, 1),
|
||||
DST_R_CRYPTOFAILURE);
|
||||
attr->pValue = isc_mem_get(key->mctx, attr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memset(attr->pValue, 0, attr->ulValueLen);
|
||||
PK11_RET(pkcs_C_GetAttributeValue,
|
||||
(pk11_ctx->session, priv, attr, 1),
|
||||
|
|
@ -675,30 +649,22 @@ pkcs11ecdsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
|
|||
if (r.length != len)
|
||||
return (DST_R_INVALIDPUBLICKEY);
|
||||
|
||||
ec = (pk11_object_t *) isc_mem_get(key->mctx, sizeof(*ec));
|
||||
if (ec == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
ec = isc_mem_get(key->mctx, sizeof(*ec));
|
||||
memset(ec, 0, sizeof(*ec));
|
||||
ec->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
if (ec->repr == NULL)
|
||||
goto nomemory;
|
||||
ec->repr = isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
ec->attrcnt = 2;
|
||||
|
||||
attr = ec->repr;
|
||||
attr->type = CKA_EC_PARAMS;
|
||||
if (key->key_alg == DST_ALG_ECDSA256) {
|
||||
attr->pValue =
|
||||
isc_mem_get(key->mctx, sizeof(pk11_ecc_prime256v1));
|
||||
if (attr->pValue == NULL)
|
||||
goto nomemory;
|
||||
attr->pValue = isc_mem_get(key->mctx,
|
||||
sizeof(pk11_ecc_prime256v1));
|
||||
memmove(attr->pValue,
|
||||
pk11_ecc_prime256v1, sizeof(pk11_ecc_prime256v1));
|
||||
attr->ulValueLen = sizeof(pk11_ecc_prime256v1);
|
||||
} else {
|
||||
attr->pValue =
|
||||
isc_mem_get(key->mctx, sizeof(pk11_ecc_secp384r1));
|
||||
if (attr->pValue == NULL)
|
||||
goto nomemory;
|
||||
attr->pValue = isc_mem_get(key->mctx,
|
||||
sizeof(pk11_ecc_secp384r1));
|
||||
memmove(attr->pValue,
|
||||
pk11_ecc_secp384r1, sizeof(pk11_ecc_secp384r1));
|
||||
attr->ulValueLen = sizeof(pk11_ecc_secp384r1);
|
||||
|
|
@ -707,8 +673,6 @@ pkcs11ecdsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
|
|||
attr++;
|
||||
attr->type = CKA_EC_POINT;
|
||||
attr->pValue = isc_mem_get(key->mctx, len + 3);
|
||||
if (attr->pValue == NULL)
|
||||
goto nomemory;
|
||||
((CK_BYTE_PTR) attr->pValue)[0] = TAG_OCTECT_STRING;
|
||||
((CK_BYTE_PTR) attr->pValue)[1] = len + 1;
|
||||
((CK_BYTE_PTR) attr->pValue)[2] = UNCOMPRESSED;
|
||||
|
|
@ -718,27 +682,8 @@ pkcs11ecdsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
|
|||
isc_buffer_forward(data, len);
|
||||
key->keydata.pkey = ec;
|
||||
key->key_size = len * 4;
|
||||
return (ISC_R_SUCCESS);
|
||||
|
||||
nomemory:
|
||||
for (attr = pk11_attribute_first(ec);
|
||||
attr != NULL;
|
||||
attr = pk11_attribute_next(ec, attr))
|
||||
switch (attr->type) {
|
||||
case CKA_EC_PARAMS:
|
||||
case CKA_EC_POINT:
|
||||
FREECURVE();
|
||||
break;
|
||||
}
|
||||
if (ec->repr != NULL) {
|
||||
memset(ec->repr, 0, ec->attrcnt * sizeof(*attr));
|
||||
isc_mem_put(key->mctx,
|
||||
ec->repr,
|
||||
ec->attrcnt * sizeof(*attr));
|
||||
}
|
||||
memset(ec, 0, sizeof(*ec));
|
||||
isc_mem_put(key->mctx, ec, sizeof(*ec));
|
||||
return (ISC_R_NOMEMORY);
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
|
|
@ -762,8 +707,6 @@ pkcs11ecdsa_tofile(const dst_key_t *key, const char *directory) {
|
|||
attr = pk11_attribute_bytype(ec, CKA_VALUE);
|
||||
if (attr != NULL) {
|
||||
buf = isc_mem_get(key->mctx, attr->ulValueLen);
|
||||
if (buf == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
priv.elements[i].tag = TAG_ECDSA_PRIVATEKEY;
|
||||
priv.elements[i].length = (unsigned short) attr->ulValueLen;
|
||||
memmove(buf, attr->pValue, attr->ulValueLen);
|
||||
|
|
@ -826,9 +769,7 @@ pkcs11ecdsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
ec->object = CK_INVALID_HANDLE;
|
||||
ec->ontoken = true;
|
||||
ec->reqlogon = true;
|
||||
ec->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
if (ec->repr == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
ec->repr = isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
memset(ec->repr, 0, sizeof(*attr) * 2);
|
||||
ec->attrcnt = 2;
|
||||
attr = ec->repr;
|
||||
|
|
@ -837,8 +778,6 @@ pkcs11ecdsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
pubattr = pk11_attribute_bytype(pubec, CKA_EC_PARAMS);
|
||||
INSIST(pubattr != NULL);
|
||||
attr->pValue = isc_mem_get(key->mctx, pubattr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(attr->pValue, pubattr->pValue, pubattr->ulValueLen);
|
||||
attr->ulValueLen = pubattr->ulValueLen;
|
||||
attr++;
|
||||
|
|
@ -847,8 +786,6 @@ pkcs11ecdsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
pubattr = pk11_attribute_bytype(pubec, CKA_EC_POINT);
|
||||
INSIST(pubattr != NULL);
|
||||
attr->pValue = isc_mem_get(key->mctx, pubattr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(attr->pValue, pubattr->pValue, pubattr->ulValueLen);
|
||||
attr->ulValueLen = pubattr->ulValueLen;
|
||||
|
||||
|
|
@ -856,10 +793,7 @@ pkcs11ecdsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
if (ret != ISC_R_SUCCESS)
|
||||
goto err;
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(key->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx));
|
||||
ret = pk11_get_session(pk11_ctx, OP_ECDSA, true, false,
|
||||
ec->reqlogon, NULL, ec->slot);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
|
|
@ -888,13 +822,9 @@ pkcs11ecdsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
|
||||
if (engine != NULL) {
|
||||
key->engine = isc_mem_strdup(key->mctx, engine);
|
||||
if (key->engine == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
key->label = isc_mem_strdup(key->mctx, label);
|
||||
if (key->label == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
|
||||
pk11_return_session(pk11_ctx);
|
||||
memset(pk11_ctx, 0, sizeof(*pk11_ctx));
|
||||
|
|
@ -957,9 +887,7 @@ pkcs11ecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
ec = (pk11_object_t *) isc_mem_get(key->mctx, sizeof(*ec));
|
||||
if (ec == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
ec = isc_mem_get(key->mctx, sizeof(*ec));
|
||||
memset(ec, 0, sizeof(*ec));
|
||||
key->keydata.pkey = ec;
|
||||
|
||||
|
|
@ -973,9 +901,7 @@ pkcs11ecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
|
|||
return (ret);
|
||||
}
|
||||
|
||||
ec->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 3);
|
||||
if (ec->repr == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
ec->repr = isc_mem_get(key->mctx, sizeof(*attr) * 3);
|
||||
memset(ec->repr, 0, sizeof(*attr) * 3);
|
||||
ec->attrcnt = 3;
|
||||
|
||||
|
|
@ -984,8 +910,6 @@ pkcs11ecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
|
|||
pattr = pk11_attribute_bytype(pub->keydata.pkey, CKA_EC_PARAMS);
|
||||
INSIST(pattr != NULL);
|
||||
attr->pValue = isc_mem_get(key->mctx, pattr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(attr->pValue, pattr->pValue, pattr->ulValueLen);
|
||||
attr->ulValueLen = pattr->ulValueLen;
|
||||
|
||||
|
|
@ -994,16 +918,12 @@ pkcs11ecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
|
|||
pattr = pk11_attribute_bytype(pub->keydata.pkey, CKA_EC_POINT);
|
||||
INSIST(pattr != NULL);
|
||||
attr->pValue = isc_mem_get(key->mctx, pattr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(attr->pValue, pattr->pValue, pattr->ulValueLen);
|
||||
attr->ulValueLen = pattr->ulValueLen;
|
||||
|
||||
attr++;
|
||||
attr->type = CKA_VALUE;
|
||||
attr->pValue = isc_mem_get(key->mctx, priv.elements[0].length);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(attr->pValue, priv.elements[0].data, priv.elements[0].length);
|
||||
attr->ulValueLen = priv.elements[0].length;
|
||||
|
||||
|
|
@ -1047,18 +967,14 @@ pkcs11ecdsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
|
||||
UNUSED(pin);
|
||||
|
||||
ec = (pk11_object_t *) isc_mem_get(key->mctx, sizeof(*ec));
|
||||
if (ec == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
ec = isc_mem_get(key->mctx, sizeof(*ec));
|
||||
memset(ec, 0, sizeof(*ec));
|
||||
ec->object = CK_INVALID_HANDLE;
|
||||
ec->ontoken = true;
|
||||
ec->reqlogon = true;
|
||||
key->keydata.pkey = ec;
|
||||
|
||||
ec->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
if (ec->repr == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
ec->repr = isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
memset(ec->repr, 0, sizeof(*attr) * 2);
|
||||
ec->attrcnt = 2;
|
||||
attr = ec->repr;
|
||||
|
|
@ -1069,10 +985,7 @@ pkcs11ecdsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
if (ret != ISC_R_SUCCESS)
|
||||
goto err;
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(key->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx));
|
||||
ret = pk11_get_session(pk11_ctx, OP_ECDSA, true, false,
|
||||
ec->reqlogon, NULL, ec->slot);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
|
|
@ -1105,8 +1018,6 @@ pkcs11ecdsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
DST_R_CRYPTOFAILURE);
|
||||
for (i = 0; i <= 1; i++) {
|
||||
attr[i].pValue = isc_mem_get(key->mctx, attr[i].ulValueLen);
|
||||
if (attr[i].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memset(attr[i].pValue, 0, attr[i].ulValueLen);
|
||||
}
|
||||
PK11_RET(pkcs_C_GetAttributeValue,
|
||||
|
|
@ -1128,13 +1039,9 @@ pkcs11ecdsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
|
||||
if (engine != NULL) {
|
||||
key->engine = isc_mem_strdup(key->mctx, engine);
|
||||
if (key->engine == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
key->label = isc_mem_strdup(key->mctx, label);
|
||||
if (key->label == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
if (key->key_alg == DST_ALG_ECDSA256)
|
||||
key->key_size = DNS_KEY_ECDSA256SIZE * 4;
|
||||
else
|
||||
|
|
|
|||
|
|
@ -158,10 +158,7 @@ pkcs11eddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
else
|
||||
siglen = DNS_SIG_ED448SIZE;
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(dctx->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(dctx->mctx, sizeof(*pk11_ctx));
|
||||
memset(pk11_ctx, 0, sizeof(*pk11_ctx));
|
||||
if (ec->ontoken && (dctx->use == DO_SIGN))
|
||||
slotid = ec->slot;
|
||||
|
|
@ -190,8 +187,6 @@ pkcs11eddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
INSIST(keyTemplate[5].type == attr->type);
|
||||
keyTemplate[5].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[5].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[5].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[5].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -200,8 +195,6 @@ pkcs11eddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
INSIST(keyTemplate[6].type == attr->type);
|
||||
keyTemplate[6].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[6].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[6].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[6].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -284,10 +277,7 @@ pkcs11eddsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
|
|||
key->key_alg == DST_ALG_ED448);
|
||||
REQUIRE(ec != NULL);
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(dctx->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(dctx->mctx, sizeof(*pk11_ctx));
|
||||
memset(pk11_ctx, 0, sizeof(*pk11_ctx));
|
||||
if (ec->ontoken && (dctx->use == DO_SIGN))
|
||||
slotid = ec->slot;
|
||||
|
|
@ -306,8 +296,6 @@ pkcs11eddsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
|
|||
INSIST(keyTemplate[5].type == attr->type);
|
||||
keyTemplate[5].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[5].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[5].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[5].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -316,8 +304,6 @@ pkcs11eddsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
|
|||
/* keyTemplate[6].type is CKA_VALUE */
|
||||
keyTemplate[6].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[6].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[6].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[6].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -417,18 +403,14 @@ pkcs11eddsa_compare(const dst_key_t *key1, const dst_key_t *key2) {
|
|||
|
||||
#define SETCURVE() \
|
||||
if (key->key_alg == DST_ALG_ED25519) { \
|
||||
attr->pValue = isc_mem_get(key->mctx, \
|
||||
sizeof(pk11_ecc_ed25519)); \
|
||||
if (attr->pValue == NULL) \
|
||||
DST_RET(ISC_R_NOMEMORY); \
|
||||
attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecc_ed25519)); \
|
||||
\
|
||||
memmove(attr->pValue, \
|
||||
pk11_ecc_ed25519, sizeof(pk11_ecc_ed25519)); \
|
||||
attr->ulValueLen = sizeof(pk11_ecc_ed25519); \
|
||||
} else { \
|
||||
attr->pValue = isc_mem_get(key->mctx, \
|
||||
sizeof(pk11_ecc_ed448)); \
|
||||
if (attr->pValue == NULL) \
|
||||
DST_RET(ISC_R_NOMEMORY); \
|
||||
attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecc_ed448)); \
|
||||
\
|
||||
memmove(attr->pValue, \
|
||||
pk11_ecc_ed448, sizeof(pk11_ecc_ed448)); \
|
||||
attr->ulValueLen = sizeof(pk11_ecc_ed448); \
|
||||
|
|
@ -479,23 +461,16 @@ pkcs11eddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
|
|||
UNUSED(unused);
|
||||
UNUSED(callback);
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(key->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx));
|
||||
ret = pk11_get_session(pk11_ctx, OP_EC, true, false,
|
||||
false, NULL, pk11_get_best_token(OP_EC));
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
goto err;
|
||||
|
||||
ec = (pk11_object_t *) isc_mem_get(key->mctx, sizeof(*ec));
|
||||
if (ec == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
ec = isc_mem_get(key->mctx, sizeof(*ec));
|
||||
memset(ec, 0, sizeof(*ec));
|
||||
key->keydata.pkey = ec;
|
||||
ec->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 3);
|
||||
if (ec->repr == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
ec->repr = isc_mem_get(key->mctx, sizeof(*attr) * 3);
|
||||
memset(ec->repr, 0, sizeof(*attr) * 3);
|
||||
ec->attrcnt = 3;
|
||||
|
||||
|
|
@ -525,8 +500,6 @@ pkcs11eddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
|
|||
(pk11_ctx->session, pub, attr, 1),
|
||||
DST_R_CRYPTOFAILURE);
|
||||
attr->pValue = isc_mem_get(key->mctx, attr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memset(attr->pValue, 0, attr->ulValueLen);
|
||||
PK11_RET(pkcs_C_GetAttributeValue,
|
||||
(pk11_ctx->session, pub, attr, 1),
|
||||
|
|
@ -538,8 +511,6 @@ pkcs11eddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
|
|||
(pk11_ctx->session, priv, attr, 1),
|
||||
DST_R_CRYPTOFAILURE);
|
||||
attr->pValue = isc_mem_get(key->mctx, attr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memset(attr->pValue, 0, attr->ulValueLen);
|
||||
PK11_RET(pkcs_C_GetAttributeValue,
|
||||
(pk11_ctx->session, priv, attr, 1),
|
||||
|
|
@ -664,30 +635,21 @@ pkcs11eddsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
|
|||
if (r.length != len)
|
||||
return (DST_R_INVALIDPUBLICKEY);
|
||||
|
||||
ec = (pk11_object_t *) isc_mem_get(key->mctx, sizeof(*ec));
|
||||
if (ec == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
ec = isc_mem_get(key->mctx, sizeof(*ec));
|
||||
memset(ec, 0, sizeof(*ec));
|
||||
ec->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
if (ec->repr == NULL)
|
||||
goto nomemory;
|
||||
ec->repr = isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
ec->attrcnt = 2;
|
||||
|
||||
attr = ec->repr;
|
||||
attr->type = CKA_EC_PARAMS;
|
||||
if (key->key_alg == DST_ALG_ED25519) {
|
||||
attr->pValue =
|
||||
isc_mem_get(key->mctx, sizeof(pk11_ecc_ed25519));
|
||||
if (attr->pValue == NULL)
|
||||
goto nomemory;
|
||||
attr->pValue = isc_mem_get(key->mctx,
|
||||
sizeof(pk11_ecc_ed25519));
|
||||
memmove(attr->pValue,
|
||||
pk11_ecc_ed25519, sizeof(pk11_ecc_ed25519));
|
||||
attr->ulValueLen = sizeof(pk11_ecc_ed25519);
|
||||
} else {
|
||||
attr->pValue =
|
||||
isc_mem_get(key->mctx, sizeof(pk11_ecc_ed448));
|
||||
if (attr->pValue == NULL)
|
||||
goto nomemory;
|
||||
attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecc_ed448));
|
||||
memmove(attr->pValue,
|
||||
pk11_ecc_ed448, sizeof(pk11_ecc_ed448));
|
||||
attr->ulValueLen = sizeof(pk11_ecc_ed448);
|
||||
|
|
@ -696,8 +658,6 @@ pkcs11eddsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
|
|||
attr++;
|
||||
attr->type = CKA_EC_POINT;
|
||||
attr->pValue = isc_mem_get(key->mctx, len);
|
||||
if (attr->pValue == NULL)
|
||||
goto nomemory;
|
||||
memmove((CK_BYTE_PTR) attr->pValue, r.base, len);
|
||||
attr->ulValueLen = len;
|
||||
|
||||
|
|
@ -748,8 +708,6 @@ pkcs11eddsa_tofile(const dst_key_t *key, const char *directory) {
|
|||
attr = pk11_attribute_bytype(ec, CKA_VALUE);
|
||||
if (attr != NULL) {
|
||||
buf = isc_mem_get(key->mctx, attr->ulValueLen);
|
||||
if (buf == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
priv.elements[i].tag = TAG_EDDSA_PRIVATEKEY;
|
||||
priv.elements[i].length = (unsigned short) attr->ulValueLen;
|
||||
memmove(buf, attr->pValue, attr->ulValueLen);
|
||||
|
|
@ -812,9 +770,7 @@ pkcs11eddsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
ec->object = CK_INVALID_HANDLE;
|
||||
ec->ontoken = true;
|
||||
ec->reqlogon = true;
|
||||
ec->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
if (ec->repr == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
ec->repr = isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
memset(ec->repr, 0, sizeof(*attr) * 2);
|
||||
ec->attrcnt = 2;
|
||||
attr = ec->repr;
|
||||
|
|
@ -822,8 +778,6 @@ pkcs11eddsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
attr->type = CKA_EC_PARAMS;
|
||||
pubattr = pk11_attribute_bytype(pubec, CKA_EC_PARAMS);
|
||||
attr->pValue = isc_mem_get(key->mctx, pubattr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(attr->pValue, pubattr->pValue, pubattr->ulValueLen);
|
||||
attr->ulValueLen = pubattr->ulValueLen;
|
||||
attr++;
|
||||
|
|
@ -831,8 +785,6 @@ pkcs11eddsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
attr->type = CKA_EC_POINT;
|
||||
pubattr = pk11_attribute_bytype(pubec, CKA_EC_POINT);
|
||||
attr->pValue = isc_mem_get(key->mctx, pubattr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(attr->pValue, pubattr->pValue, pubattr->ulValueLen);
|
||||
attr->ulValueLen = pubattr->ulValueLen;
|
||||
|
||||
|
|
@ -840,10 +792,7 @@ pkcs11eddsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
if (ret != ISC_R_SUCCESS)
|
||||
goto err;
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(key->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx));
|
||||
ret = pk11_get_session(pk11_ctx, OP_EC, true, false,
|
||||
ec->reqlogon, NULL, ec->slot);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
|
|
@ -872,13 +821,9 @@ pkcs11eddsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
|
||||
if (engine != NULL) {
|
||||
key->engine = isc_mem_strdup(key->mctx, engine);
|
||||
if (key->engine == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
key->label = isc_mem_strdup(key->mctx, label);
|
||||
if (key->label == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
|
||||
pk11_return_session(pk11_ctx);
|
||||
memset(pk11_ctx, 0, sizeof(*pk11_ctx));
|
||||
|
|
@ -941,9 +886,7 @@ pkcs11eddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
ec = (pk11_object_t *) isc_mem_get(key->mctx, sizeof(*ec));
|
||||
if (ec == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
ec = isc_mem_get(key->mctx, sizeof(*ec));
|
||||
memset(ec, 0, sizeof(*ec));
|
||||
key->keydata.pkey = ec;
|
||||
|
||||
|
|
@ -957,9 +900,7 @@ pkcs11eddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
|
|||
return (ret);
|
||||
}
|
||||
|
||||
ec->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 3);
|
||||
if (ec->repr == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
ec->repr = isc_mem_get(key->mctx, sizeof(*attr) * 3);
|
||||
memset(ec->repr, 0, sizeof(*attr) * 3);
|
||||
ec->attrcnt = 3;
|
||||
|
||||
|
|
@ -968,8 +909,6 @@ pkcs11eddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
|
|||
pattr = pk11_attribute_bytype(pub->keydata.pkey, CKA_EC_PARAMS);
|
||||
INSIST(pattr != NULL);
|
||||
attr->pValue = isc_mem_get(key->mctx, pattr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(attr->pValue, pattr->pValue, pattr->ulValueLen);
|
||||
attr->ulValueLen = pattr->ulValueLen;
|
||||
|
||||
|
|
@ -978,16 +917,12 @@ pkcs11eddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
|
|||
pattr = pk11_attribute_bytype(pub->keydata.pkey, CKA_EC_POINT);
|
||||
INSIST(pattr != NULL);
|
||||
attr->pValue = isc_mem_get(key->mctx, pattr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(attr->pValue, pattr->pValue, pattr->ulValueLen);
|
||||
attr->ulValueLen = pattr->ulValueLen;
|
||||
|
||||
attr++;
|
||||
attr->type = CKA_VALUE;
|
||||
attr->pValue = isc_mem_get(key->mctx, priv.elements[0].length);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(attr->pValue, priv.elements[0].data, priv.elements[0].length);
|
||||
attr->ulValueLen = priv.elements[0].length;
|
||||
|
||||
|
|
@ -1031,18 +966,14 @@ pkcs11eddsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
|
||||
UNUSED(pin);
|
||||
|
||||
ec = (pk11_object_t *) isc_mem_get(key->mctx, sizeof(*ec));
|
||||
if (ec == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
ec = isc_mem_get(key->mctx, sizeof(*ec));
|
||||
memset(ec, 0, sizeof(*ec));
|
||||
ec->object = CK_INVALID_HANDLE;
|
||||
ec->ontoken = true;
|
||||
ec->reqlogon = true;
|
||||
key->keydata.pkey = ec;
|
||||
|
||||
ec->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
if (ec->repr == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
ec->repr = isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
memset(ec->repr, 0, sizeof(*attr) * 2);
|
||||
ec->attrcnt = 2;
|
||||
attr = ec->repr;
|
||||
|
|
@ -1053,10 +984,7 @@ pkcs11eddsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
if (ret != ISC_R_SUCCESS)
|
||||
goto err;
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(key->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx));
|
||||
ret = pk11_get_session(pk11_ctx, OP_EC, true, false,
|
||||
ec->reqlogon, NULL, ec->slot);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
|
|
@ -1089,8 +1017,6 @@ pkcs11eddsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
DST_R_CRYPTOFAILURE);
|
||||
for (i = 0; i <= 1; i++) {
|
||||
attr[i].pValue = isc_mem_get(key->mctx, attr[i].ulValueLen);
|
||||
if (attr[i].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memset(attr[i].pValue, 0, attr[i].ulValueLen);
|
||||
}
|
||||
PK11_RET(pkcs_C_GetAttributeValue,
|
||||
|
|
@ -1113,13 +1039,9 @@ pkcs11eddsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
|
||||
if (engine != NULL) {
|
||||
key->engine = isc_mem_strdup(key->mctx, engine);
|
||||
if (key->engine == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
key->label = isc_mem_strdup(key->mctx, label);
|
||||
if (key->label == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
if (key->key_alg == DST_ALG_ED25519)
|
||||
key->key_size = DNS_KEY_ED25519SIZE;
|
||||
else
|
||||
|
|
|
|||
|
|
@ -113,10 +113,7 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) {
|
|||
|
||||
rsa = key->keydata.pkey;
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(dctx->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(dctx->mctx, sizeof(*pk11_ctx));
|
||||
memset(pk11_ctx, 0, sizeof(*pk11_ctx));
|
||||
if (rsa->ontoken)
|
||||
slotid = rsa->slot;
|
||||
|
|
@ -141,8 +138,6 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) {
|
|||
INSIST(keyTemplate[6].type == attr->type);
|
||||
keyTemplate[6].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[6].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[6].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[6].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -151,8 +146,6 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) {
|
|||
INSIST(keyTemplate[7].type == attr->type);
|
||||
keyTemplate[7].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[7].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[7].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[7].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -161,8 +154,6 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) {
|
|||
INSIST(keyTemplate[8].type == attr->type);
|
||||
keyTemplate[8].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[8].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[8].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[8].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -171,8 +162,6 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) {
|
|||
INSIST(keyTemplate[9].type == attr->type);
|
||||
keyTemplate[9].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[9].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[9].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[9].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -180,9 +169,7 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) {
|
|||
case CKA_PRIME_2:
|
||||
INSIST(keyTemplate[10].type == attr->type);
|
||||
keyTemplate[10].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[10].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
attr->ulValueLen);
|
||||
memmove(keyTemplate[10].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[10].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -191,8 +178,6 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) {
|
|||
INSIST(keyTemplate[11].type == attr->type);
|
||||
keyTemplate[11].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[11].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[11].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[11].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -201,8 +186,6 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) {
|
|||
INSIST(keyTemplate[12].type == attr->type);
|
||||
keyTemplate[12].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[12].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[12].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[12].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -211,8 +194,6 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) {
|
|||
INSIST(keyTemplate[13].type == attr->type);
|
||||
keyTemplate[13].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[13].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[13].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[13].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -337,10 +318,7 @@ pkcs11rsa_createctx_verify(dst_key_t *key, unsigned int maxbits,
|
|||
|
||||
rsa = key->keydata.pkey;
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(dctx->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(dctx->mctx, sizeof(*pk11_ctx));
|
||||
ret = pk11_get_session(pk11_ctx, OP_RSA, true, false,
|
||||
rsa->reqlogon, NULL,
|
||||
pk11_get_best_token(OP_RSA));
|
||||
|
|
@ -355,8 +333,6 @@ pkcs11rsa_createctx_verify(dst_key_t *key, unsigned int maxbits,
|
|||
INSIST(keyTemplate[5].type == attr->type);
|
||||
keyTemplate[5].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[5].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[5].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[5].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -365,8 +341,6 @@ pkcs11rsa_createctx_verify(dst_key_t *key, unsigned int maxbits,
|
|||
INSIST(keyTemplate[6].type == attr->type);
|
||||
keyTemplate[6].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[6].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[6].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[6].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -614,10 +588,7 @@ pkcs11rsa_createctx(dst_key_t *key, dst_context_t *dctx) {
|
|||
ISC_UNREACHABLE();
|
||||
}
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(dctx->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(dctx->mctx, sizeof(*pk11_ctx));
|
||||
memset(pk11_ctx, 0, sizeof(*pk11_ctx));
|
||||
if (rsa->ontoken)
|
||||
slotid = rsa->slot;
|
||||
|
|
@ -789,8 +760,6 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
INSIST(keyTemplate[6].type == attr->type);
|
||||
keyTemplate[6].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[6].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[6].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[6].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -799,8 +768,6 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
INSIST(keyTemplate[7].type == attr->type);
|
||||
keyTemplate[7].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[7].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[7].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[7].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -809,8 +776,6 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
INSIST(keyTemplate[8].type == attr->type);
|
||||
keyTemplate[8].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[8].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[8].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[8].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -819,8 +784,6 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
INSIST(keyTemplate[9].type == attr->type);
|
||||
keyTemplate[9].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[9].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[9].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[9].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -828,9 +791,7 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
case CKA_PRIME_2:
|
||||
INSIST(keyTemplate[10].type == attr->type);
|
||||
keyTemplate[10].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[10].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
attr->ulValueLen);
|
||||
memmove(keyTemplate[10].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[10].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -839,8 +800,6 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
INSIST(keyTemplate[11].type == attr->type);
|
||||
keyTemplate[11].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[11].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[11].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[11].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -849,8 +808,6 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
INSIST(keyTemplate[12].type == attr->type);
|
||||
keyTemplate[12].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[12].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[12].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[12].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -859,8 +816,6 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
|
|||
INSIST(keyTemplate[13].type == attr->type);
|
||||
keyTemplate[13].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[13].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[13].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[13].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -989,8 +944,6 @@ pkcs11rsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
|
|||
INSIST(keyTemplate[5].type == attr->type);
|
||||
keyTemplate[5].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[5].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[5].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[5].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -999,8 +952,6 @@ pkcs11rsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
|
|||
INSIST(keyTemplate[6].type == attr->type);
|
||||
keyTemplate[6].pValue = isc_mem_get(dctx->mctx,
|
||||
attr->ulValueLen);
|
||||
if (keyTemplate[6].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(keyTemplate[6].pValue, attr->pValue,
|
||||
attr->ulValueLen);
|
||||
keyTemplate[6].ulValueLen = attr->ulValueLen;
|
||||
|
|
@ -1165,10 +1116,7 @@ pkcs11rsa_generate(dst_key_t *key, int exp, void (*callback)(int)) {
|
|||
ISC_UNREACHABLE();
|
||||
}
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(key->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx));
|
||||
ret = pk11_get_session(pk11_ctx, OP_RSA, true, false,
|
||||
false, NULL, pk11_get_best_token(OP_RSA));
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
|
|
@ -1198,14 +1146,10 @@ pkcs11rsa_generate(dst_key_t *key, int exp, void (*callback)(int)) {
|
|||
&pub, &priv),
|
||||
DST_R_CRYPTOFAILURE);
|
||||
|
||||
rsa = (pk11_object_t *) isc_mem_get(key->mctx, sizeof(*rsa));
|
||||
if (rsa == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
rsa = isc_mem_get(key->mctx, sizeof(*rsa));
|
||||
memset(rsa, 0, sizeof(*rsa));
|
||||
key->keydata.pkey = rsa;
|
||||
rsa->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 8);
|
||||
if (rsa->repr == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
rsa->repr = isc_mem_get(key->mctx, sizeof(*attr) * 8);
|
||||
memset(rsa->repr, 0, sizeof(*attr) * 8);
|
||||
rsa->attrcnt = 8;
|
||||
|
||||
|
|
@ -1224,8 +1168,6 @@ pkcs11rsa_generate(dst_key_t *key, int exp, void (*callback)(int)) {
|
|||
DST_R_CRYPTOFAILURE);
|
||||
for (i = 0; i <= 1; i++) {
|
||||
attr[i].pValue = isc_mem_get(key->mctx, attr[i].ulValueLen);
|
||||
if (attr[i].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memset(attr[i].pValue, 0, attr[i].ulValueLen);
|
||||
}
|
||||
PK11_RET(pkcs_C_GetAttributeValue,
|
||||
|
|
@ -1238,8 +1180,6 @@ pkcs11rsa_generate(dst_key_t *key, int exp, void (*callback)(int)) {
|
|||
DST_R_CRYPTOFAILURE);
|
||||
for (i = 0; i <= 5; i++) {
|
||||
attr[i].pValue = isc_mem_get(key->mctx, attr[i].ulValueLen);
|
||||
if (attr[i].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memset(attr[i].pValue, 0, attr[i].ulValueLen);
|
||||
}
|
||||
PK11_RET(pkcs_C_GetAttributeValue,
|
||||
|
|
@ -1390,9 +1330,7 @@ pkcs11rsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
|
|||
return (ISC_R_SUCCESS);
|
||||
length = r.length;
|
||||
|
||||
rsa = (pk11_object_t *) isc_mem_get(key->mctx, sizeof(*rsa));
|
||||
if (rsa == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
rsa = isc_mem_get(key->mctx, sizeof(*rsa));
|
||||
|
||||
memset(rsa, 0, sizeof(*rsa));
|
||||
|
||||
|
|
@ -1425,55 +1363,22 @@ pkcs11rsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
|
|||
|
||||
isc_buffer_forward(data, length);
|
||||
|
||||
rsa->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
if (rsa->repr == NULL)
|
||||
goto nomemory;
|
||||
rsa->repr = isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
memset(rsa->repr, 0, sizeof(*attr) * 2);
|
||||
rsa->attrcnt = 2;
|
||||
attr = rsa->repr;
|
||||
attr[0].type = CKA_MODULUS;
|
||||
attr[0].pValue = isc_mem_get(key->mctx, mod_bytes);
|
||||
if (attr[0].pValue == NULL)
|
||||
goto nomemory;
|
||||
memmove(attr[0].pValue, modulus, mod_bytes);
|
||||
attr[0].ulValueLen = (CK_ULONG) mod_bytes;
|
||||
attr[1].type = CKA_PUBLIC_EXPONENT;
|
||||
attr[1].pValue = isc_mem_get(key->mctx, e_bytes);
|
||||
if (attr[1].pValue == NULL)
|
||||
goto nomemory;
|
||||
memmove(attr[1].pValue, exponent, e_bytes);
|
||||
attr[1].ulValueLen = (CK_ULONG) e_bytes;
|
||||
|
||||
key->keydata.pkey = rsa;
|
||||
|
||||
return (ISC_R_SUCCESS);
|
||||
|
||||
nomemory:
|
||||
for (attr = pk11_attribute_first(rsa);
|
||||
attr != NULL;
|
||||
attr = pk11_attribute_next(rsa, attr))
|
||||
switch (attr->type) {
|
||||
case CKA_MODULUS:
|
||||
case CKA_PUBLIC_EXPONENT:
|
||||
if (attr->pValue != NULL) {
|
||||
isc_safe_memwipe(attr->pValue,
|
||||
attr->ulValueLen);
|
||||
isc_mem_put(key->mctx,
|
||||
attr->pValue,
|
||||
attr->ulValueLen);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (rsa->repr != NULL) {
|
||||
isc_safe_memwipe(rsa->repr,
|
||||
rsa->attrcnt * sizeof(*attr));
|
||||
isc_mem_put(key->mctx,
|
||||
rsa->repr,
|
||||
rsa->attrcnt * sizeof(*attr));
|
||||
}
|
||||
isc_safe_memwipe(rsa, sizeof(*rsa));
|
||||
isc_mem_put(key->mctx, rsa, sizeof(*rsa));
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
|
|
@ -1534,10 +1439,6 @@ pkcs11rsa_tofile(const dst_key_t *key, const char *directory) {
|
|||
|
||||
for (i = 0; i < 10; i++) {
|
||||
bufs[i] = isc_mem_get(key->mctx, modulus->ulValueLen);
|
||||
if (bufs[i] == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto fail;
|
||||
}
|
||||
memset(bufs[i], 0, modulus->ulValueLen);
|
||||
}
|
||||
|
||||
|
|
@ -1621,7 +1522,6 @@ pkcs11rsa_tofile(const dst_key_t *key, const char *directory) {
|
|||
|
||||
priv.nelements = i;
|
||||
result = dst__privstruct_writefile(key, &priv, directory);
|
||||
fail:
|
||||
for (i = 0; i < 10; i++) {
|
||||
if (bufs[i] == NULL)
|
||||
break;
|
||||
|
|
@ -1662,9 +1562,7 @@ pkcs11rsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
rsa->object = CK_INVALID_HANDLE;
|
||||
rsa->ontoken = true;
|
||||
rsa->reqlogon = true;
|
||||
rsa->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
if (rsa->repr == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
rsa->repr = isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
memset(rsa->repr, 0, sizeof(*attr) * 2);
|
||||
rsa->attrcnt = 2;
|
||||
attr = rsa->repr;
|
||||
|
|
@ -1673,8 +1571,6 @@ pkcs11rsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
pubattr = pk11_attribute_bytype(pubrsa, CKA_MODULUS);
|
||||
INSIST(pubattr != NULL);
|
||||
attr->pValue = isc_mem_get(key->mctx, pubattr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(attr->pValue, pubattr->pValue, pubattr->ulValueLen);
|
||||
attr->ulValueLen = pubattr->ulValueLen;
|
||||
attr++;
|
||||
|
|
@ -1683,8 +1579,6 @@ pkcs11rsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
pubattr = pk11_attribute_bytype(pubrsa, CKA_PUBLIC_EXPONENT);
|
||||
INSIST(pubattr != NULL);
|
||||
attr->pValue = isc_mem_get(key->mctx, pubattr->ulValueLen);
|
||||
if (attr->pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(attr->pValue, pubattr->pValue, pubattr->ulValueLen);
|
||||
attr->ulValueLen = pubattr->ulValueLen;
|
||||
|
||||
|
|
@ -1692,10 +1586,7 @@ pkcs11rsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
if (ret != ISC_R_SUCCESS)
|
||||
goto err;
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(key->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx));
|
||||
ret = pk11_get_session(pk11_ctx, OP_RSA, true, false,
|
||||
rsa->reqlogon, NULL, rsa->slot);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
|
|
@ -1724,13 +1615,9 @@ pkcs11rsa_fetch(dst_key_t *key, const char *engine, const char *label,
|
|||
|
||||
if (engine != NULL) {
|
||||
key->engine = isc_mem_strdup(key->mctx, engine);
|
||||
if (key->engine == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
key->label = isc_mem_strdup(key->mctx, label);
|
||||
if (key->label == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
|
||||
pk11_return_session(pk11_ctx);
|
||||
isc_safe_memwipe(pk11_ctx, sizeof(*pk11_ctx));
|
||||
|
|
@ -1858,9 +1745,7 @@ pkcs11rsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
rsa = (pk11_object_t *) isc_mem_get(key->mctx, sizeof(*rsa));
|
||||
if (rsa == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
rsa = isc_mem_get(key->mctx, sizeof(*rsa));
|
||||
memset(rsa, 0, sizeof(*rsa));
|
||||
key->keydata.pkey = rsa;
|
||||
|
||||
|
|
@ -1874,9 +1759,7 @@ pkcs11rsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
|
|||
return (ret);
|
||||
}
|
||||
|
||||
rsa->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 8);
|
||||
if (rsa->repr == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
rsa->repr = isc_mem_get(key->mctx, sizeof(*attr) * 8);
|
||||
memset(rsa->repr, 0, sizeof(*attr) * 8);
|
||||
rsa->attrcnt = 8;
|
||||
attr = rsa->repr;
|
||||
|
|
@ -1899,8 +1782,6 @@ pkcs11rsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
|
|||
continue;
|
||||
default:
|
||||
bn = isc_mem_get(key->mctx, priv.elements[i].length);
|
||||
if (bn == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memmove(bn, priv.elements[i].data,
|
||||
priv.elements[i].length);
|
||||
}
|
||||
|
|
@ -2010,18 +1891,14 @@ pkcs11rsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
|
||||
UNUSED(pin);
|
||||
|
||||
rsa = (pk11_object_t *) isc_mem_get(key->mctx, sizeof(*rsa));
|
||||
if (rsa == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
rsa = isc_mem_get(key->mctx, sizeof(*rsa));
|
||||
memset(rsa, 0, sizeof(*rsa));
|
||||
rsa->object = CK_INVALID_HANDLE;
|
||||
rsa->ontoken = true;
|
||||
rsa->reqlogon = true;
|
||||
key->keydata.pkey = rsa;
|
||||
|
||||
rsa->repr = (CK_ATTRIBUTE *) isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
if (rsa->repr == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
rsa->repr = isc_mem_get(key->mctx, sizeof(*attr) * 2);
|
||||
memset(rsa->repr, 0, sizeof(*attr) * 2);
|
||||
rsa->attrcnt = 2;
|
||||
attr = rsa->repr;
|
||||
|
|
@ -2032,10 +1909,7 @@ pkcs11rsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
if (ret != ISC_R_SUCCESS)
|
||||
goto err;
|
||||
|
||||
pk11_ctx = (pk11_context_t *) isc_mem_get(key->mctx,
|
||||
sizeof(*pk11_ctx));
|
||||
if (pk11_ctx == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx));
|
||||
ret = pk11_get_session(pk11_ctx, OP_RSA, true, false,
|
||||
rsa->reqlogon, NULL, rsa->slot);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
|
|
@ -2068,8 +1942,6 @@ pkcs11rsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
DST_R_CRYPTOFAILURE);
|
||||
for (i = 0; i <= 1; i++) {
|
||||
attr[i].pValue = isc_mem_get(key->mctx, attr[i].ulValueLen);
|
||||
if (attr[i].pValue == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
memset(attr[i].pValue, 0, attr[i].ulValueLen);
|
||||
}
|
||||
PK11_RET(pkcs_C_GetAttributeValue,
|
||||
|
|
@ -2091,13 +1963,9 @@ pkcs11rsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
|
|||
|
||||
if (engine != NULL) {
|
||||
key->engine = isc_mem_strdup(key->mctx, engine);
|
||||
if (key->engine == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
key->label = isc_mem_strdup(key->mctx, label);
|
||||
if (key->label == NULL)
|
||||
DST_RET(ISC_R_NOMEMORY);
|
||||
|
||||
attr = pk11_attribute_bytype(rsa, CKA_PUBLIC_EXPONENT);
|
||||
INSIST(attr != NULL);
|
||||
|
|
|
|||
|
|
@ -70,8 +70,6 @@ dns_portlist_create(isc_mem_t *mctx, dns_portlist_t **portlistp) {
|
|||
REQUIRE(portlistp != NULL && *portlistp == NULL);
|
||||
|
||||
portlist = isc_mem_get(mctx, sizeof(*portlist));
|
||||
if (portlist == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
isc_mutex_init(&portlist->lock);
|
||||
isc_refcount_init(&portlist->refcount, 1);
|
||||
portlist->list = NULL;
|
||||
|
|
@ -142,10 +140,6 @@ dns_portlist_add(dns_portlist_t *portlist, int af, in_port_t port) {
|
|||
unsigned int allocated;
|
||||
allocated = portlist->allocated + DNS_PL_ALLOCATE;
|
||||
el = isc_mem_get(portlist->mctx, sizeof(*el) * allocated);
|
||||
if (el == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto unlock;
|
||||
}
|
||||
if (portlist->list != NULL) {
|
||||
memmove(el, portlist->list,
|
||||
portlist->allocated * sizeof(*el));
|
||||
|
|
|
|||
|
|
@ -955,9 +955,7 @@ dns_rbt_create(isc_mem_t *mctx, dns_rbtdeleter_t deleter,
|
|||
REQUIRE(rbtp != NULL && *rbtp == NULL);
|
||||
REQUIRE(deleter == NULL ? deleter_arg == NULL : 1);
|
||||
|
||||
rbt = (dns_rbt_t *)isc_mem_get(mctx, sizeof(*rbt));
|
||||
if (rbt == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
rbt = isc_mem_get(mctx, sizeof(*rbt));
|
||||
|
||||
rbt->mctx = NULL;
|
||||
isc_mem_attach(mctx, &rbt->mctx);
|
||||
|
|
@ -2188,9 +2186,7 @@ create_node(isc_mem_t *mctx, const dns_name_t *name, dns_rbtnode_t **nodep) {
|
|||
* Allocate space for the node structure, the name, and the offsets.
|
||||
*/
|
||||
nodelen = sizeof(dns_rbtnode_t) + region.length + labels + 1;
|
||||
node = (dns_rbtnode_t *)isc_mem_get(mctx, nodelen);
|
||||
if (node == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
node = isc_mem_get(mctx, nodelen);
|
||||
memset(node, 0, nodelen);
|
||||
|
||||
node->is_root = 0;
|
||||
|
|
@ -2278,9 +2274,6 @@ inithash(dns_rbt_t *rbt) {
|
|||
bytes = (unsigned int)rbt->hashsize * sizeof(dns_rbtnode_t *);
|
||||
rbt->hashtable = isc_mem_get(rbt->mctx, bytes);
|
||||
|
||||
if (rbt->hashtable == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
memset(rbt->hashtable, 0, bytes);
|
||||
|
||||
return (ISC_R_SUCCESS);
|
||||
|
|
@ -2306,11 +2299,6 @@ rehash(dns_rbt_t *rbt, unsigned int newcount) {
|
|||
} while (newcount >= (rbt->hashsize * 3));
|
||||
rbt->hashtable = isc_mem_get(rbt->mctx,
|
||||
rbt->hashsize * sizeof(dns_rbtnode_t *));
|
||||
if (rbt->hashtable == NULL) {
|
||||
rbt->hashtable = oldtable;
|
||||
rbt->hashsize = oldsize;
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < rbt->hashsize; i++)
|
||||
rbt->hashtable[i] = NULL;
|
||||
|
|
|
|||
|
|
@ -1224,8 +1224,6 @@ allocate_version(isc_mem_t *mctx, rbtdb_serial_t serial,
|
|||
size_t i;
|
||||
|
||||
version = isc_mem_get(mctx, sizeof(*version));
|
||||
if (version == NULL)
|
||||
return (NULL);
|
||||
version->serial = serial;
|
||||
|
||||
isc_refcount_init(&version->references, references);
|
||||
|
|
@ -1239,15 +1237,8 @@ allocate_version(isc_mem_t *mctx, rbtdb_serial_t serial,
|
|||
|
||||
version->glue_table_size = RBTDB_GLUE_TABLE_INIT_SIZE;
|
||||
version->glue_table_nodecount = 0U;
|
||||
version->glue_table = (rbtdb_glue_table_node_t **)
|
||||
isc_mem_get(mctx, (version->glue_table_size *
|
||||
sizeof(*version->glue_table)));
|
||||
if (version->glue_table == NULL) {
|
||||
isc_rwlock_destroy(&version->glue_rwlock);
|
||||
isc_refcount_destroy(&version->references);
|
||||
isc_mem_put(mctx, version, sizeof(*version));
|
||||
return (NULL);
|
||||
}
|
||||
version->glue_table = isc_mem_get(mctx,
|
||||
(version->glue_table_size * sizeof(*version->glue_table)));
|
||||
|
||||
version->writer = writer;
|
||||
version->commit_ok = false;
|
||||
|
|
@ -1434,8 +1425,6 @@ new_rdataset(dns_rbtdb_t *rbtdb, isc_mem_t *mctx) {
|
|||
rdatasetheader_t *h;
|
||||
|
||||
h = isc_mem_get(mctx, sizeof(*h));
|
||||
if (h == NULL)
|
||||
return (NULL);
|
||||
|
||||
#if TRACE_HEADER
|
||||
if (IS_CACHE(rbtdb) && rbtdb->common.rdclass == dns_rdataclass_in)
|
||||
|
|
@ -5389,8 +5378,6 @@ createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp)
|
|||
REQUIRE(VALID_RBTDB(rbtdb));
|
||||
|
||||
rbtdbiter = isc_mem_get(rbtdb->common.mctx, sizeof(*rbtdbiter));
|
||||
if (rbtdbiter == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
rbtdbiter->common.methods = &dbiterator_methods;
|
||||
rbtdbiter->common.db = NULL;
|
||||
|
|
@ -5615,8 +5602,6 @@ allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
|||
REQUIRE(VALID_RBTDB(rbtdb));
|
||||
|
||||
iterator = isc_mem_get(rbtdb->common.mctx, sizeof(*iterator));
|
||||
if (iterator == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
if ((db->attributes & DNS_DBATTR_CACHE) == 0) {
|
||||
now = 0;
|
||||
|
|
@ -6343,10 +6328,6 @@ addnoqname(dns_rbtdb_t *rbtdb, rdatasetheader_t *newheader,
|
|||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
|
||||
noqname = isc_mem_get(mctx, sizeof(*noqname));
|
||||
if (noqname == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
dns_name_init(&noqname->name, NULL);
|
||||
noqname->neg = NULL;
|
||||
noqname->negsig = NULL;
|
||||
|
|
@ -6394,10 +6375,6 @@ addclosest(dns_rbtdb_t *rbtdb, rdatasetheader_t *newheader,
|
|||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
|
||||
closest = isc_mem_get(mctx, sizeof(*closest));
|
||||
if (closest == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
dns_name_init(&closest->name, NULL);
|
||||
closest->neg = NULL;
|
||||
closest->negsig = NULL;
|
||||
|
|
@ -7270,8 +7247,6 @@ beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) {
|
|||
REQUIRE(VALID_RBTDB(rbtdb));
|
||||
|
||||
loadctx = isc_mem_get(rbtdb->common.mctx, sizeof(*loadctx));
|
||||
if (loadctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
loadctx->rbtdb = rbtdb;
|
||||
if (IS_CACHE(rbtdb))
|
||||
|
|
@ -8087,8 +8062,6 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
|
|||
UNUSED(driverarg);
|
||||
|
||||
rbtdb = isc_mem_get(mctx, sizeof(*rbtdb));
|
||||
if (rbtdb == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
/*
|
||||
* If argv[0] exists, it points to a memory context to use for heap
|
||||
|
|
@ -8136,12 +8109,8 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
|
|||
goto cleanup_tree_lock;
|
||||
}
|
||||
INSIST(rbtdb->node_lock_count < (1 << DNS_RBT_LOCKLENGTH));
|
||||
rbtdb->node_locks = isc_mem_get(mctx, rbtdb->node_lock_count *
|
||||
sizeof(rbtdb_nodelock_t));
|
||||
if (rbtdb->node_locks == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_tree_lock;
|
||||
}
|
||||
rbtdb->node_locks = isc_mem_get(mctx,
|
||||
rbtdb->node_lock_count * sizeof(rbtdb_nodelock_t));
|
||||
|
||||
rbtdb->cachestats = NULL;
|
||||
rbtdb->gluecachestats = NULL;
|
||||
|
|
@ -8151,12 +8120,8 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
|
|||
result = dns_rdatasetstats_create(mctx, &rbtdb->rrsetstats);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup_node_locks;
|
||||
rbtdb->rdatasets = isc_mem_get(mctx, rbtdb->node_lock_count *
|
||||
sizeof(rdatasetheaderlist_t));
|
||||
if (rbtdb->rdatasets == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_rrsetstats;
|
||||
}
|
||||
rbtdb->rdatasets = isc_mem_get(mctx,
|
||||
rbtdb->node_lock_count * sizeof(rdatasetheaderlist_t));
|
||||
for (i = 0; i < (int)rbtdb->node_lock_count; i++)
|
||||
ISC_LIST_INIT(rbtdb->rdatasets[i]);
|
||||
} else
|
||||
|
|
@ -8165,12 +8130,8 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
|
|||
/*
|
||||
* Create the heaps.
|
||||
*/
|
||||
rbtdb->heaps = isc_mem_get(hmctx, rbtdb->node_lock_count *
|
||||
sizeof(isc_heap_t *));
|
||||
if (rbtdb->heaps == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_rdatasets;
|
||||
}
|
||||
rbtdb->heaps = isc_mem_get(hmctx,
|
||||
rbtdb->node_lock_count * sizeof(isc_heap_t *));
|
||||
for (i = 0; i < (int)rbtdb->node_lock_count; i++)
|
||||
rbtdb->heaps[i] = NULL;
|
||||
sooner = IS_CACHE(rbtdb) ? ttl_sooner : resign_sooner;
|
||||
|
|
@ -8184,12 +8145,8 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
|
|||
/*
|
||||
* Create deadnode lists.
|
||||
*/
|
||||
rbtdb->deadnodes = isc_mem_get(mctx, rbtdb->node_lock_count *
|
||||
sizeof(rbtnodelist_t));
|
||||
if (rbtdb->deadnodes == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_heaps;
|
||||
}
|
||||
rbtdb->deadnodes = isc_mem_get(mctx,
|
||||
rbtdb->node_lock_count * sizeof(rbtnodelist_t));
|
||||
for (i = 0; i < (int)rbtdb->node_lock_count; i++)
|
||||
ISC_LIST_INIT(rbtdb->deadnodes[i]);
|
||||
|
||||
|
|
@ -8376,11 +8333,9 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
|
|||
rbtdb->node_lock_count * sizeof(isc_heap_t *));
|
||||
}
|
||||
|
||||
cleanup_rdatasets:
|
||||
if (rbtdb->rdatasets != NULL)
|
||||
isc_mem_put(mctx, rbtdb->rdatasets, rbtdb->node_lock_count *
|
||||
sizeof(rdatasetheaderlist_t));
|
||||
cleanup_rrsetstats:
|
||||
if (rbtdb->rrsetstats != NULL)
|
||||
dns_stats_detach(&rbtdb->rrsetstats);
|
||||
|
||||
|
|
@ -9633,10 +9588,8 @@ rehash_gluetable(rbtdb_version_t *version) {
|
|||
} while (version->glue_table_nodecount >=
|
||||
(version->glue_table_size * 3U));
|
||||
|
||||
version->glue_table = (rbtdb_glue_table_node_t **)
|
||||
isc_mem_get(version->rbtdb->common.mctx,
|
||||
(version->glue_table_size *
|
||||
sizeof(*version->glue_table)));
|
||||
version->glue_table = isc_mem_get(version->rbtdb->common.mctx,
|
||||
(version->glue_table_size * sizeof(*version->glue_table)));
|
||||
if (ISC_UNLIKELY(version->glue_table == NULL)) {
|
||||
version->glue_table = oldtable;
|
||||
version->glue_table_size = oldsize;
|
||||
|
|
@ -9711,10 +9664,6 @@ glue_nsdname_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) {
|
|||
&rdataset_a, &sigrdataset_a);
|
||||
if (result == DNS_R_GLUE) {
|
||||
glue = isc_mem_get(ctx->rbtdb->common.mctx, sizeof(*glue));
|
||||
if (glue == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto out;
|
||||
}
|
||||
|
||||
gluename = dns_fixedname_initname(&glue->fixedname);
|
||||
dns_name_copy(name_a, gluename, NULL);
|
||||
|
|
@ -9739,10 +9688,6 @@ glue_nsdname_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) {
|
|||
if (glue == NULL) {
|
||||
glue = isc_mem_get(ctx->rbtdb->common.mctx,
|
||||
sizeof(*glue));
|
||||
if (glue == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto out;
|
||||
}
|
||||
|
||||
gluename = dns_fixedname_initname(&glue->fixedname);
|
||||
dns_name_copy(name_aaaa, gluename, NULL);
|
||||
|
|
@ -9770,7 +9715,6 @@ glue_nsdname_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) {
|
|||
|
||||
result = ISC_R_SUCCESS;
|
||||
|
||||
out:
|
||||
if (dns_rdataset_isassociated(&rdataset_a))
|
||||
rdataset_disassociate(&rdataset_a);
|
||||
if (dns_rdataset_isassociated(&sigrdataset_a))
|
||||
|
|
@ -10004,10 +9948,6 @@ no_glue:
|
|||
(void)dns_rdataset_additionaldata(rdataset, glue_nsdname_cb, &ctx);
|
||||
|
||||
cur = isc_mem_get(rbtdb->common.mctx, sizeof(*cur));
|
||||
if (cur == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto out;
|
||||
}
|
||||
|
||||
/*
|
||||
* XXXMUKS: it looks like the dns_dbversion is not destroyed
|
||||
|
|
@ -10040,17 +9980,12 @@ no_glue:
|
|||
rbtversion->glue_table[idx] = cur;
|
||||
rbtversion->glue_table_nodecount++;
|
||||
|
||||
result = ISC_R_SUCCESS;
|
||||
|
||||
out:
|
||||
RWUNLOCK(&rbtversion->glue_rwlock, isc_rwlocktype_write);
|
||||
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
restarted = true;
|
||||
goto restart;
|
||||
}
|
||||
restarted = true;
|
||||
goto restart;
|
||||
|
||||
return (result);
|
||||
/* UNREACHABLE */
|
||||
}
|
||||
|
||||
/*%
|
||||
|
|
|
|||
|
|
@ -387,8 +387,7 @@ mem_maybedup(isc_mem_t *mctx, void *source, size_t length) {
|
|||
if (mctx == NULL)
|
||||
return (source);
|
||||
copy = isc_mem_allocate(mctx, length);
|
||||
if (copy != NULL)
|
||||
memmove(copy, source, length);
|
||||
memmove(copy, source, length);
|
||||
|
||||
return (copy);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -148,8 +148,6 @@ dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx,
|
|||
if (rdataset->type != 0)
|
||||
return (ISC_R_FAILURE);
|
||||
rawbuf = isc_mem_get(mctx, buflen);
|
||||
if (rawbuf == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
region->base = rawbuf;
|
||||
region->length = buflen;
|
||||
rawbuf += reservelen;
|
||||
|
|
@ -166,8 +164,6 @@ dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx,
|
|||
*/
|
||||
nalloc = nitems;
|
||||
x = isc_mem_get(mctx, nalloc * sizeof(struct xrdata));
|
||||
if (x == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
/*
|
||||
* Save all of the rdata members into an array.
|
||||
|
|
@ -268,19 +264,10 @@ dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx,
|
|||
* data.
|
||||
*/
|
||||
rawbuf = isc_mem_get(mctx, buflen);
|
||||
if (rawbuf == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto free_rdatas;
|
||||
}
|
||||
|
||||
#if DNS_RDATASET_FIXED
|
||||
/* Allocate temporary offset table. */
|
||||
offsettable = isc_mem_get(mctx, nalloc * sizeof(unsigned int));
|
||||
if (offsettable == NULL) {
|
||||
isc_mem_put(mctx, rawbuf, buflen);
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto free_rdatas;
|
||||
}
|
||||
memset(offsettable, 0, nalloc * sizeof(unsigned int));
|
||||
#endif
|
||||
|
||||
|
|
@ -580,8 +567,6 @@ dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab,
|
|||
* Copy the reserved area from the new slab.
|
||||
*/
|
||||
tstart = isc_mem_get(mctx, tlength);
|
||||
if (tstart == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memmove(tstart, nslab, reservelen);
|
||||
tcurrent = tstart + reservelen;
|
||||
#if DNS_RDATASET_FIXED
|
||||
|
|
@ -602,10 +587,6 @@ dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab,
|
|||
|
||||
offsettable = isc_mem_get(mctx,
|
||||
(ocount + oncount) * sizeof(unsigned int));
|
||||
if (offsettable == NULL) {
|
||||
isc_mem_put(mctx, tstart, tlength);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
memset(offsettable, 0, (ocount + oncount) * sizeof(unsigned int));
|
||||
#endif
|
||||
|
||||
|
|
@ -819,18 +800,12 @@ dns_rdataslab_subtract(unsigned char *mslab, unsigned char *sslab,
|
|||
* Copy the reserved area from the mslab.
|
||||
*/
|
||||
tstart = isc_mem_get(mctx, tlength);
|
||||
if (tstart == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
memmove(tstart, mslab, reservelen);
|
||||
tcurrent = tstart + reservelen;
|
||||
#if DNS_RDATASET_FIXED
|
||||
offsetbase = tcurrent;
|
||||
|
||||
offsettable = isc_mem_get(mctx, mcount * sizeof(unsigned int));
|
||||
if (offsettable == NULL) {
|
||||
isc_mem_put(mctx, tstart, tlength);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
memset(offsettable, 0, mcount * sizeof(unsigned int));
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -160,8 +160,6 @@ dns_requestmgr_create(isc_mem_t *mctx,
|
|||
}
|
||||
|
||||
requestmgr = isc_mem_get(mctx, sizeof(*requestmgr));
|
||||
if (requestmgr == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
isc_mutex_init(&requestmgr->lock);
|
||||
|
||||
|
|
@ -451,8 +449,6 @@ new_request(isc_mem_t *mctx, dns_request_t **requestp)
|
|||
dns_request_t *request;
|
||||
|
||||
request = isc_mem_get(mctx, sizeof(*request));
|
||||
if (request == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
/*
|
||||
* Zero structure.
|
||||
|
|
|
|||
|
|
@ -856,8 +856,6 @@ valcreate(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, dns_name_t *name,
|
|||
isc_result_t result;
|
||||
|
||||
valarg = isc_mem_get(fctx->mctx, sizeof(*valarg));
|
||||
if (valarg == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
valarg->fctx = fctx;
|
||||
valarg->addrinfo = addrinfo;
|
||||
|
|
@ -1514,16 +1512,13 @@ fcount_incr(fetchctx_t *fctx, bool force) {
|
|||
|
||||
if (counter == NULL) {
|
||||
counter = isc_mem_get(dbucket->mctx, sizeof(fctxcount_t));
|
||||
if (counter == NULL)
|
||||
result = ISC_R_NOMEMORY;
|
||||
else {
|
||||
{
|
||||
ISC_LINK_INIT(counter, link);
|
||||
counter->count = 1;
|
||||
counter->logged = 0;
|
||||
counter->allowed = 1;
|
||||
counter->dropped = 0;
|
||||
counter->domain =
|
||||
dns_fixedname_initname(&counter->fdname);
|
||||
counter->domain = dns_fixedname_initname(&counter->fdname);
|
||||
dns_name_copy(&fctx->domain, counter->domain, NULL);
|
||||
ISC_LIST_APPEND(dbucket->list, counter, link);
|
||||
}
|
||||
|
|
@ -1950,10 +1945,6 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo,
|
|||
dns_message_reset(fctx->rmessage, DNS_MESSAGE_INTENTPARSE);
|
||||
|
||||
query = isc_mem_get(fctx->mctx, sizeof(*query));
|
||||
if (query == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto stop_idle_timer;
|
||||
}
|
||||
query->mctx = fctx->mctx;
|
||||
query->options = options;
|
||||
query->attributes = 0;
|
||||
|
|
@ -2165,7 +2156,6 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo,
|
|||
isc_mem_put(fctx->mctx, query, sizeof(*query));
|
||||
}
|
||||
|
||||
stop_idle_timer:
|
||||
RUNTIME_CHECK(fctx_stopidletimer(fctx) == ISC_R_SUCCESS);
|
||||
|
||||
return (result);
|
||||
|
|
@ -2197,8 +2187,6 @@ add_bad_edns(fetchctx_t *fctx, isc_sockaddr_t *address) {
|
|||
return;
|
||||
|
||||
sa = isc_mem_get(fctx->mctx, sizeof(*sa));
|
||||
if (sa == NULL)
|
||||
return;
|
||||
|
||||
*sa = *address;
|
||||
ISC_LIST_INITANDAPPEND(fctx->bad_edns, sa, link);
|
||||
|
|
@ -2229,8 +2217,6 @@ add_triededns(fetchctx_t *fctx, isc_sockaddr_t *address) {
|
|||
}
|
||||
|
||||
tried = isc_mem_get(fctx->mctx, sizeof(*tried));
|
||||
if (tried == NULL)
|
||||
return;
|
||||
|
||||
tried->addr = *address;
|
||||
tried->count = 1;
|
||||
|
|
@ -2262,8 +2248,6 @@ add_triededns512(fetchctx_t *fctx, isc_sockaddr_t *address) {
|
|||
}
|
||||
|
||||
tried = isc_mem_get(fctx->mctx, sizeof(*tried));
|
||||
if (tried == NULL)
|
||||
return;
|
||||
|
||||
tried->addr = *address;
|
||||
tried->count = 1;
|
||||
|
|
@ -3218,8 +3202,6 @@ add_bad(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, isc_result_t reason,
|
|||
FCTXTRACE("add_bad");
|
||||
|
||||
sa = isc_mem_get(fctx->mctx, sizeof(*sa));
|
||||
if (sa == NULL)
|
||||
return;
|
||||
*sa = *address;
|
||||
ISC_LIST_INITANDAPPEND(fctx->bad, sa, link);
|
||||
|
||||
|
|
@ -4713,8 +4695,6 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type,
|
|||
|
||||
mctx = res->buckets[bucketnum].mctx;
|
||||
fctx = isc_mem_get(mctx, sizeof(*fctx));
|
||||
if (fctx == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
fctx->qc = NULL;
|
||||
if (qc != NULL) {
|
||||
|
|
@ -4735,10 +4715,6 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type,
|
|||
strlcat(buf, "/", sizeof(buf));
|
||||
strlcat(buf, typebuf, sizeof(buf));
|
||||
fctx->info = isc_mem_strdup(mctx, buf);
|
||||
if (fctx->info == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_counter;
|
||||
}
|
||||
|
||||
FCTXTRACE("create");
|
||||
dns_name_init(&fctx->name, NULL);
|
||||
|
|
@ -5052,8 +5028,6 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type,
|
|||
|
||||
cleanup_info:
|
||||
isc_mem_free(mctx, fctx->info);
|
||||
|
||||
cleanup_counter:
|
||||
isc_counter_detach(&fctx->qc);
|
||||
|
||||
cleanup_fetch:
|
||||
|
|
@ -7251,11 +7225,7 @@ log_nsid(isc_buffer_t *opt, size_t nsid_len, resquery_t *query,
|
|||
/* Allocate buffer for storing hex version of the NSID */
|
||||
buflen = (uint16_t)nsid_len * 2 + 1;
|
||||
buf = isc_mem_get(mctx, buflen);
|
||||
if (buf == NULL)
|
||||
goto cleanup;
|
||||
pbuf = isc_mem_get(mctx, nsid_len + 1);
|
||||
if (pbuf == NULL)
|
||||
goto cleanup;
|
||||
|
||||
/* Convert to hex */
|
||||
p = buf;
|
||||
|
|
@ -7281,7 +7251,7 @@ log_nsid(isc_buffer_t *opt, size_t nsid_len, resquery_t *query,
|
|||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_NSID,
|
||||
DNS_LOGMODULE_RESOLVER, level,
|
||||
"received NSID %s (\"%s\") from %s", buf, pbuf, addrbuf);
|
||||
cleanup:
|
||||
|
||||
if (pbuf != NULL)
|
||||
isc_mem_put(mctx, pbuf, nsid_len + 1);
|
||||
if (buf != NULL)
|
||||
|
|
@ -9948,8 +9918,6 @@ dns_resolver_create(dns_view_t *view,
|
|||
REQUIRE(dispatchv4 != NULL || dispatchv6 != NULL);
|
||||
|
||||
res = isc_mem_get(view->mctx, sizeof(*res));
|
||||
if (res == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
RTRACE("create");
|
||||
res->mctx = view->mctx;
|
||||
res->rdclass = view->rdclass;
|
||||
|
|
@ -9988,12 +9956,7 @@ dns_resolver_create(dns_view_t *view,
|
|||
isc_stats_set(view->resstats, ntasks,
|
||||
dns_resstatscounter_buckets);
|
||||
res->activebuckets = ntasks;
|
||||
res->buckets = isc_mem_get(view->mctx,
|
||||
ntasks * sizeof(fctxbucket_t));
|
||||
if (res->buckets == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_badcache;
|
||||
}
|
||||
res->buckets = isc_mem_get(view->mctx, ntasks * sizeof(fctxbucket_t));
|
||||
for (i = 0; i < ntasks; i++) {
|
||||
isc_mutex_init(&res->buckets[i].lock);
|
||||
|
||||
|
|
@ -10030,10 +9993,6 @@ dns_resolver_create(dns_view_t *view,
|
|||
|
||||
res->dbuckets = isc_mem_get(view->mctx,
|
||||
RES_DOMAIN_BUCKETS * sizeof(zonebucket_t));
|
||||
if (res->dbuckets == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup_buckets;
|
||||
}
|
||||
for (i = 0; i < RES_DOMAIN_BUCKETS; i++) {
|
||||
ISC_LIST_INIT(res->dbuckets[i].list);
|
||||
res->dbuckets[i].mctx = NULL;
|
||||
|
|
@ -10142,7 +10101,6 @@ dns_resolver_create(dns_view_t *view,
|
|||
isc_mem_put(view->mctx, res->buckets,
|
||||
res->nbuckets * sizeof(fctxbucket_t));
|
||||
|
||||
cleanup_badcache:
|
||||
dns_badcache_destroy(&res->badcache);
|
||||
|
||||
cleanup_res:
|
||||
|
|
@ -10235,14 +10193,6 @@ dns_resolver_prime(dns_resolver_t *res) {
|
|||
*/
|
||||
RTRACE("priming");
|
||||
rdataset = isc_mem_get(res->mctx, sizeof(*rdataset));
|
||||
if (rdataset == NULL) {
|
||||
LOCK(&res->lock);
|
||||
INSIST(res->priming);
|
||||
INSIST(res->primefetch == NULL);
|
||||
res->priming = false;
|
||||
UNLOCK(&res->lock);
|
||||
return;
|
||||
}
|
||||
dns_rdataset_init(rdataset);
|
||||
LOCK(&res->primelock);
|
||||
result = dns_resolver_createfetch(res, dns_rootname,
|
||||
|
|
@ -10561,8 +10511,6 @@ dns_resolver_createfetch(dns_resolver_t *res, const dns_name_t *name,
|
|||
* XXXRTH use a mempool?
|
||||
*/
|
||||
fetch = isc_mem_get(res->mctx, sizeof(*fetch));
|
||||
if (fetch == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
fetch->mctx = NULL;
|
||||
isc_mem_attach(res->mctx, &fetch->mctx);
|
||||
|
||||
|
|
@ -10853,8 +10801,6 @@ dns_resolver_addalternate(dns_resolver_t *resolver, const isc_sockaddr_t *alt,
|
|||
REQUIRE((alt == NULL) ^ (name == NULL));
|
||||
|
||||
a = isc_mem_get(resolver->mctx, sizeof(*a));
|
||||
if (a == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
if (alt != NULL) {
|
||||
a->isaddress = true;
|
||||
a->_u.addr = *alt;
|
||||
|
|
@ -10997,10 +10943,6 @@ dns_resolver_disable_algorithm(dns_resolver_t *resolver,
|
|||
* into it if one exists.
|
||||
*/
|
||||
tmp = isc_mem_get(resolver->mctx, len);
|
||||
if (tmp == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
memset(tmp, 0, len);
|
||||
if (algorithms != NULL)
|
||||
memmove(tmp, algorithms, *algorithms);
|
||||
|
|
@ -11133,10 +11075,6 @@ dns_resolver_disable_ds_digest(dns_resolver_t *resolver,
|
|||
* into it if one exists.
|
||||
*/
|
||||
tmp = isc_mem_get(resolver->mctx, len);
|
||||
if (tmp == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
memset(tmp, 0, len);
|
||||
if (digests != NULL)
|
||||
memmove(tmp, digests, *digests);
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue