If `plugin_register_complex_read()` has failed, then `cldap_free` is called which set pointer to NULL.
That pointer is accessed by `cldap_shutdown()` callback later.
static int cldap_shutdown(void) /* {{{ */
{
for (size_t i = 0; i < databases_num; i++)
static int cldap_shutdown(void) /* {{{ */
{
for (size_t i = 0; i < databases_num; i++)
- if (databases[i]->ld != NULL)
+ if (databases[i] != NULL && databases[i]->ld != NULL)
ldap_unbind_ext_s(databases[i]->ld, NULL, NULL);
sfree(databases);
databases_num = 0;
ldap_unbind_ext_s(databases[i]->ld, NULL, NULL);
sfree(databases);
databases_num = 0;