diff options
-rw-r--r-- | src/ldap_driver.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/ldap_driver.c b/src/ldap_driver.c index 86b9560..5b01604 100644 --- a/src/ldap_driver.c +++ b/src/ldap_driver.c @@ -1064,6 +1064,7 @@ dynamic_driver_init(isc_mem_t *mctx, const char *name, const char * const *argv, } /* Register new DNS DB implementation. */ + ldapdb_imp = NULL; result = dns_db_register(ldapdb_impname, &ldapdb_create, NULL, mctx, &ldapdb_imp); if (result != ISC_R_SUCCESS && result != ISC_R_EXISTS) @@ -1109,6 +1110,8 @@ cleanup: void dynamic_driver_destroy(void) { - dns_db_unregister(&ldapdb_imp); + /* Only unregister the implementation if it was registered by us. */ + if (ldapdb_imp != NULL) + dns_db_unregister(&ldapdb_imp); destroy_manager(); } |