The branch, v3-4-test has been updated
       via  fa8d573... cifs.upcall: allocate a talloc context for 
smb_krb5_unparse_name
      from  d3738db... s3-docs: Add missing para end tag.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test


- Log -----------------------------------------------------------------
commit fa8d57323c0ff4f92f0aca57b41d237340121720
Author: Jeff Layton <jlay...@redhat.com>
Date:   Tue Feb 16 09:16:42 2010 -0500

    cifs.upcall: allocate a talloc context for smb_krb5_unparse_name
    
    cifs.upcall calls smb_krb5_unparse_name with a NULL talloc context.
    Older versions of this function though will conditionally use
    SMB_REALLOC instead of TALLOC_REALLOC when a NULL context is passed
    in. To make it more consistent, just spawn a talloc context that
    we can pass into this function.
    
    Resolves:
    https://bugzilla.redhat.com/show_bug.cgi?id=565446
    https://bugzilla.samba.org/show_bug.cgi?id=6868
    
    Reported-by: Ludek Finstrle <l...@seznam.cz>
    Signed-off-by: Jeff Layton <jlay...@redhat.com>
    Signed-off-by: Günther Deschner <g...@samba.org>
    (cherry picked from commit a8cc2fa09ed43a167f62711bef363a5ac335dc78)
    
    Fix bug #6868 (make bin/cifs.upcall fails).

-----------------------------------------------------------------------

Summary of changes:
 source3/client/cifs.upcall.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/client/cifs.upcall.c b/source3/client/cifs.upcall.c
index 1617e0e..d573e76 100644
--- a/source3/client/cifs.upcall.c
+++ b/source3/client/cifs.upcall.c
@@ -55,6 +55,7 @@ get_tgt_time(const char *ccname) {
        krb5_principal principal;
        time_t credtime = 0;
        char *realm = NULL;
+       TALLOC_CTX *mem_ctx;
 
        if (krb5_init_context(&context)) {
                syslog(LOG_DEBUG, "%s: unable to init krb5 context", __func__);
@@ -86,9 +87,10 @@ get_tgt_time(const char *ccname) {
                goto err_ccstart;
        }
 
+       mem_ctx = talloc_init("cifs.upcall");
        while (!credtime && !krb5_cc_next_cred(context, ccache, &cur, &creds)) {
                char *name;
-               if (smb_krb5_unparse_name(NULL, context, creds.server, &name)) {
+               if (smb_krb5_unparse_name(mem_ctx, context, creds.server, 
&name)) {
                        syslog(LOG_DEBUG, "%s: unable to unparse name", 
__func__);
                        goto err_endseq;
                }
@@ -101,6 +103,7 @@ get_tgt_time(const char *ccname) {
                TALLOC_FREE(name);
         }
 err_endseq:
+       TALLOC_FREE(mem_ctx);
         krb5_cc_end_seq_get(context, ccache, &cur);
 err_ccstart:
        krb5_free_principal(context, principal);


-- 
Samba Shared Repository

Reply via email to