Bladeren bron

Issue 50506 - Fix regression from slapi_entry_attr_get_ref refactor

Description:  In pwenc.c we took a reference to the attribute value, but
              it was freed before we looked at it.

relates: https://pagure.io/389-ds-base/issue/50506

Regviewed by: mreynolds (one line commit rule)
Mark Reynolds 6 jaren geleden
bovenliggende
commit
e378092636
1 gewijzigde bestanden met toevoegingen van 3 en 1 verwijderingen
  1. 3 1
      ldap/servers/slapd/tools/pwenc.c

+ 3 - 1
ldap/servers/slapd/tools/pwenc.c

@@ -362,7 +362,8 @@ slapd_config(const char *configdir, const char *givenconfigfile)
                     }
                 } else if (slapi_sdn_compare(&config_dn, slapi_entry_get_sdn_const(e)) == 0) {
                     /* Get the root scheme out and initialise it (if it exists) */
-                    rootschemename = (char *)slapi_entry_attr_get_ref(e, CONFIG_ROOTPWSTORAGESCHEME_ATTRIBUTE);
+                    slapi_ch_free_string(&rootschemename);
+                    rootschemename = slapi_entry_attr_get_charptr(e, CONFIG_ROOTPWSTORAGESCHEME_ATTRIBUTE);
                 }
 
                 slapi_entry_free(e);
@@ -382,6 +383,7 @@ slapd_config(const char *configdir, const char *givenconfigfile)
 
         if (rootschemename != NULL) {
             config_set_rootpwstoragescheme(CONFIG_ROOTPWSTORAGESCHEME_ATTRIBUTE, rootschemename, NULL, 1);
+            slapi_ch_free_string(&rootschemename);
         }
 
         slapi_ch_free_string(&buf);