s3:libads: Free addr before we free the context
authorAndreas Schneider <asn@samba.org>
Tue, 14 Aug 2018 16:55:33 +0000 (18:55 +0200)
committerJeremy Allison <jra@samba.org>
Tue, 14 Aug 2018 20:02:06 +0000 (22:02 +0200)
Introduced by dbdbd4875ecac3e7334750f46f1f494b7afe6628

CID 1438395

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13567

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Aug 14 22:02:06 CEST 2018 on sn-devel-144

source3/libads/krb5_setpw.c

index 0418fec5ad392cdfeea36c076b293b657aa0a4c0..8f9098853b949fac5e63d61446e5badad91035f7 100644 (file)
@@ -222,9 +222,9 @@ static ADS_STATUS ads_krb5_chg_password(const char *kdc_host,
     /* We have to obtain an INITIAL changepw ticket for changing password */
     if (asprintf(&chpw_princ, "kadmin/changepw@%s", realm) == -1) {
        krb5_get_init_creds_opt_free(context, opts);
+       smb_krb5_free_addresses(context, addr);
        krb5_free_context(context);
        free(realm);
-       smb_krb5_free_addresses(context, addr);
        DEBUG(1,("ads_krb5_chg_password: asprintf fail\n"));
        return ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
     }