Author: vlendec
Date: 2007-07-26 17:27:03 +0000 (Thu, 26 Jul 2007)
New Revision: 24058

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24058

Log:
Fix some memory leaks in ads_secrets_verify_ticket.

Jeremy, G?\195?\188nther, please review!

Thanks,

Volker

Modified:
   branches/SAMBA_3_2/source/libads/kerberos_verify.c
   branches/SAMBA_3_2_0/source/libads/kerberos_verify.c


Changeset:
Modified: branches/SAMBA_3_2/source/libads/kerberos_verify.c
===================================================================
--- branches/SAMBA_3_2/source/libads/kerberos_verify.c  2007-07-26 16:39:48 UTC 
(rev 24057)
+++ branches/SAMBA_3_2/source/libads/kerberos_verify.c  2007-07-26 17:27:03 UTC 
(rev 24058)
@@ -274,6 +274,7 @@
                        auth_ok = True;
                        krb5_copy_keyblock(context, key, keyblock);
                        krb5_free_keyblock(context, key);
+                       SAFE_FREE(key);
                        break;
                }
 
@@ -285,10 +286,12 @@
                if (ret == KRB5KRB_AP_ERR_TKT_NYV || 
                    ret == KRB5KRB_AP_ERR_TKT_EXPIRED ||
                    ret == KRB5KRB_AP_ERR_SKEW) {
+                       SAFE_FREE(key);
                        break;
                }
 
                krb5_free_keyblock(context, key);
+               SAFE_FREE(key);
 
        }
 

Modified: branches/SAMBA_3_2_0/source/libads/kerberos_verify.c
===================================================================
--- branches/SAMBA_3_2_0/source/libads/kerberos_verify.c        2007-07-26 
16:39:48 UTC (rev 24057)
+++ branches/SAMBA_3_2_0/source/libads/kerberos_verify.c        2007-07-26 
17:27:03 UTC (rev 24058)
@@ -274,6 +274,7 @@
                        auth_ok = True;
                        krb5_copy_keyblock(context, key, keyblock);
                        krb5_free_keyblock(context, key);
+                       SAFE_FREE(key);
                        break;
                }
 
@@ -285,10 +286,12 @@
                if (ret == KRB5KRB_AP_ERR_TKT_NYV || 
                    ret == KRB5KRB_AP_ERR_TKT_EXPIRED ||
                    ret == KRB5KRB_AP_ERR_SKEW) {
+                       SAFE_FREE(key);
                        break;
                }
 
                krb5_free_keyblock(context, key);
+               SAFE_FREE(key);
 
        }
 

Reply via email to