summaryrefslogtreecommitdiff
path: root/lib/dns/validator.c
diff options
context:
space:
mode:
authorErwin Lansing <erwin@FreeBSD.org>2014-02-24 13:57:07 +0000
committerErwin Lansing <erwin@FreeBSD.org>2014-02-24 13:57:07 +0000
commite83d3091807de4060c0f7654609c0ba97c607698 (patch)
tree34b1e1c094bea6410885fbd65ce50ada5dc33cdf /lib/dns/validator.c
parent2f7409b5f669dbe3c0a8e58d8f526cb6ac4f64e1 (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 3d7518a2bebf..d33a683c5d31 100644
--- a/lib/dns/validator.c
+++ b/lib/dns/validator.c
@@ -3750,8 +3750,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;
@@ -3784,6 +3783,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));