Content-Type: text/html; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable X-RT-Original-Encoding: iso-8859-1 Content-Length: 6099



I am using krb5-1.4.2 and I get the following message from valgrind application to check for possible memory leaks in my application.


My code looks like this:


krb5_keytab keytab = 0;


/* status = krb5_kt_resolve(context, keytab_name, &keytab); */


// These variables are properly initialized: context, my_creds, me, starttime, srbServicePrincipalName, options. Only keytab variable is passed to the api as writeen here.


status = krb5_get_init_creds_keytab(context, &my_creds, me, keytab, starttime, srbServicePrincipalName, &options);


I looked into the code it seems that in some cases the tempstr may not be freed.




=1737== 18 bytes in 3 blocks are definitely lost in loss record 2 of 21

==1737==    at 0x11B1C113: malloc (vg_replace_malloc.c:149)

==1737==    by 0x1707DC62: krb5_libdefault_string (get_in_tkt.c:716)

==1737==    by 0x1707DF3D: krb5_get_init_creds (get_in_tkt.c:841)

==1737==    by 0x17043B92: krb5_get_init_creds_keytab (gic_keytab.c:96)

==1737==    by 0x16FB0766: srbGSSSetupCredential (srbKerberos.c:393)

==1737==    by 0x16FB0048: srbKerberosGSSSetupCredential (srbKerberos.c:133)

==1737==    by 0x56F6B0: SrbConnectionConfigGSSSetup (SrbConnection.c:3250)

==1737==    by 0x56D239: SrbConnectionOpen (SrbConnection.c:539)

==1737==    by 0x41D22D: srbHostRemoteConnect (srbHost.c:1277)

==1737==    by 0x41C9E4: srbHostRemoteConnectMcatServer (srbHost.c:1026)

==1737==    by 0x4457A1: localLogin (localClientStubs.c:44)

==1737==    by 0x420753: SvrLogin (SvrClientStubs.c:67)