]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
r21848: add a comment about gss_import_name() and when to free the krb5 principal...
authorGerald Carter <jerry@samba.org>
Thu, 15 Mar 2007 22:09:03 +0000 (22:09 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:18:38 +0000 (12:18 -0500)
source/libaddns/dnsgss.c

index 798fd4404ee34fc35f595f2ae3be04ca1f24d8af..207e86c3edfa793d938806bae5df7e3d642bea78 100644 (file)
@@ -252,6 +252,11 @@ DNS_ERROR dns_negotiate_sec_ctx( const char *target_realm,
        krb5_init_context( &krb_ctx );
        krb5_parse_name( krb_ctx, targetname, &host_principal );
 
+       /* don't free the printcap until after you call
+          gss_release_name() or else you'll get a segv
+          as the krb5_copy_principal() does a structure 
+          copy and not a deep copy.    --jerry*/
+
        input_name.value = &host_principal;
        input_name.length = sizeof( host_principal );
 
@@ -267,8 +272,11 @@ DNS_ERROR dns_negotiate_sec_ctx( const char *target_realm,
 
        err = dns_negotiate_gss_ctx_int(mem_ctx, conn, keyname, 
                                        targ_name, gss_ctx, srv_type );
-
+       
        gss_release_name( &minor, &targ_name );
+
+       /* now we can feree the principal */
+
        krb5_free_principal( krb_ctx, host_principal );
        krb5_free_context( krb_ctx );