gss_krb5_ccache_name

Steve stephenpince at gmail.com
Fri Nov 21 15:24:03 EST 2008


I have memory leak in the function call gss_krb5_ccache_name.
I am using kfw-3-2-2-final on win32.
It is a multi-threaded application and I am using the api as followed.

        major_status =gss_krb5_ccache_name(&minor_status,krb5-
>ccache_name, NULL);
      :
       major_status = gss_init_sec_context(&minor_status,)


How am i suppose to cleanup. I have also tried the following
        major_status =gss_krb5_ccache_name(&minor_status,krb5-
>ccache_name, &old_name);
:
       major_status = gss_init_sec_context(&minor_status,)
:
       major_status =gss_krb5_ccache_name(&minor_status,old_name,
NULL);


Here is a profile of my memory leaking.  A user is a thread with 4
addional threads.
Run 2 - 10 users/2 minutes - 4 threads...1164 Bytes leaking
Run 3 - 10 users/5 minutes - 4 threads...2424 Bytes leaking
Run 4 - 10 users/10 minutes - 4 threads...4428 Bytes leaking
Run 5 - 10 users/15 minutes - 4 threads...6660 Bytes leaking

purify dump.

I] Summary of all memory leaks... {600 bytes, 50 blocks}
[W] MLK: Memory leak of 600 bytes from 50 blocks allocated in wcscat
[MSVCR71.DLL]
        Distribution of leaked blocks
               600 bytes from 50 blocks of 12 bytes (first block:
0x003f2f78)
        Allocation location
            HeapAlloc      [C:\WINDOWS\system32\KERNEL32.DLL]
            wcscat         [C:\WINDOWS\SYSTEM32\MSVCR71.DLL]
            Curl_input_negotiate [C:\work\flood_openload
\flood_negotiate.c:240]
                    krb5_lock();
                    if( neg_ctx->context == GSS_C_NO_CONTEXT){
                        locked = 1;
             =>         major_status =gss_krb5_ccache_name
(&minor_status,krb5->ccache_name, NULL);










More information about the Kerberos mailing list