summaryrefslogtreecommitdiff
path: root/lib/dns/validator.c
diff options
context:
space:
mode:
authorErwin Lansing <erwin@FreeBSD.org>2014-02-24 13:58:58 +0000
committerErwin Lansing <erwin@FreeBSD.org>2014-02-24 13:58:58 +0000
commit989b3b2d6068ce5b525479b7754977baf6364a7d (patch)
treedbbce28742bfdb3ea58da4461b1bb3e5c2fcaa28 /lib/dns/validator.c
parent98ec2cd1facbb6a0e284fd0bacab33fbafb76fb8 (diff)
Notes
Diffstat (limited to 'lib/dns/validator.c')
-rw-r--r--lib/dns/validator.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/dns/validator.c b/lib/dns/validator.c
index 8cf7f665ec88..d7982caa777a 100644
--- a/lib/dns/validator.c
+++ b/lib/dns/validator.c
@@ -3753,8 +3753,7 @@ dns_validator_create(dns_view_t *view, dns_name_t *name, dns_rdatatype_t type,
val->keytable = NULL;
result = dns_view_getsecroots(val->view, &val->keytable);
if (result != ISC_R_SUCCESS)
- return (result);
-
+ goto cleanup_mutex;
val->keynode = NULL;
val->key = NULL;
val->siginfo = NULL;
@@ -3787,6 +3786,9 @@ dns_validator_create(dns_view_t *view, dns_name_t *name, dns_rdatatype_t type,
return (ISC_R_SUCCESS);
+ cleanup_mutex:
+ DESTROYLOCK(&val->lock);
+
cleanup_event:
isc_task_detach(&tclone);
isc_event_free(ISC_EVENT_PTR(&event));