svn commit: samba r16201 - branches/SAMBA_3_0/source/libads trunk/source/libads

vlendec at samba.org vlendec at samba.org
Tue Jun 13 18:09:40 GMT 2006


Author: vlendec
Date: 2006-06-13 18:09:37 +0000 (Tue, 13 Jun 2006)
New Revision: 16201

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

Log:
Fix Klocwork 439
Modified:
   branches/SAMBA_3_0/source/libads/krb5_setpw.c
   trunk/source/libads/krb5_setpw.c


Changeset:
Modified: branches/SAMBA_3_0/source/libads/krb5_setpw.c
===================================================================
--- branches/SAMBA_3_0/source/libads/krb5_setpw.c	2006-06-13 18:09:06 UTC (rev 16200)
+++ branches/SAMBA_3_0/source/libads/krb5_setpw.c	2006-06-13 18:09:37 UTC (rev 16201)
@@ -528,7 +528,6 @@
 		DEBUG(1,("Failed to parse kadmin/changepw (%s)\n", error_message(ret)));
 		return ADS_ERROR_KRB5(ret);
 	}
-	free(princ_name);
 
 	/* parse the principal we got as a function argument */
 	ret = smb_krb5_parse_name(context, princ, &principal);
@@ -537,9 +536,12 @@
 	        krb5_free_principal(context, creds.server);
                 krb5_free_context(context);
 		DEBUG(1,("Failed to parse %s (%s)\n", princ_name, error_message(ret)));
+		free(princ_name);
 		return ADS_ERROR_KRB5(ret);
 	}
 
+	free(princ_name);
+
 	/* The creds.server principal takes ownership of this memory.
 		Remember to set back to original value before freeing. */
 	orig_realm = *krb5_princ_realm(context, creds.server);

Modified: trunk/source/libads/krb5_setpw.c
===================================================================
--- trunk/source/libads/krb5_setpw.c	2006-06-13 18:09:06 UTC (rev 16200)
+++ trunk/source/libads/krb5_setpw.c	2006-06-13 18:09:37 UTC (rev 16201)
@@ -528,7 +528,6 @@
 		DEBUG(1,("Failed to parse kadmin/changepw (%s)\n", error_message(ret)));
 		return ADS_ERROR_KRB5(ret);
 	}
-	free(princ_name);
 
 	/* parse the principal we got as a function argument */
 	ret = smb_krb5_parse_name(context, princ, &principal);
@@ -537,9 +536,12 @@
 	        krb5_free_principal(context, creds.server);
                 krb5_free_context(context);
 		DEBUG(1,("Failed to parse %s (%s)\n", princ_name, error_message(ret)));
+		free(princ_name);
 		return ADS_ERROR_KRB5(ret);
 	}
 
+	free(princ_name);
+
 	/* The creds.server principal takes ownership of this memory.
 		Remember to set back to original value before freeing. */
 	orig_realm = *krb5_princ_realm(context, creds.server);



More information about the samba-cvs mailing list