Check if info.ldapai_extensions is not NULL before freeing it
authorJames Rouzier <jrouzier@inverse.ca>
Tue, 1 Nov 2016 17:13:53 +0000 (13:13 -0400)
committerJames Rouzier <jrouzier@inverse.ca>
Tue, 1 Nov 2016 17:13:53 +0000 (13:13 -0400)
src/modules/rlm_ldap/rlm_ldap.c

index 15f3368..4b19da1 100644 (file)
@@ -693,10 +693,12 @@ static int mod_instantiate(CONF_SECTION *conf, void *instance)
                        INFO("rlm_ldap: libldap vendor: %s, version: %i", info.ldapai_vendor_name,
                             info.ldapai_vendor_version);
 
-                       for ( i = 0; info.ldapai_extensions[i] != NULL; i++) {
-                               ldap_memfree(info.ldapai_extensions[i]);
+                       if (info.ldapai_extensions != NULL ) {
+                               for ( i = 0; info.ldapai_extensions[i] != NULL; i++) {
+                                       ldap_memfree(info.ldapai_extensions[i]);
+                               }
+                               ldap_memfree(info.ldapai_extensions);
                        }
-                       ldap_memfree(info.ldapai_extensions);
                        ldap_memfree(info.ldapai_vendor_name);
                } else {
                        DEBUG("rlm_ldap: Falling back to build time libldap version info.  Query for LDAP_OPT_API_INFO "