(renew_validate): hopefully fix up freeing of memory
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5998 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		| @@ -147,6 +147,7 @@ renew_validate(krb5_context context, | |||||||
| 	} | 	} | ||||||
|     } else { |     } else { | ||||||
| 	char *realm; | 	char *realm; | ||||||
|  |  | ||||||
| 	ret = krb5_get_default_realm(context, &realm); | 	ret = krb5_get_default_realm(context, &realm); | ||||||
| 	if(ret) { | 	if(ret) { | ||||||
| 	    krb5_warn(context, ret, "krb5_get_default_realm"); | 	    krb5_warn(context, ret, "krb5_get_default_realm"); | ||||||
| @@ -154,11 +155,11 @@ renew_validate(krb5_context context, | |||||||
| 	} | 	} | ||||||
| 	ret = krb5_make_principal(context, &in.server,  | 	ret = krb5_make_principal(context, &in.server,  | ||||||
| 				  realm, "krbtgt", realm, NULL); | 				  realm, "krbtgt", realm, NULL); | ||||||
|  | 	free (realm); | ||||||
| 	if(ret) { | 	if(ret) { | ||||||
| 	    krb5_warn(context, ret, "krb5_make_principal"); | 	    krb5_warn(context, ret, "krb5_make_principal"); | ||||||
| 	    goto out; | 	    goto out; | ||||||
| 	} | 	} | ||||||
| 	free(realm); |  | ||||||
|     } |     } | ||||||
|     flags.i = 0; |     flags.i = 0; | ||||||
|     flags.b.renewable = flags.b.renew = renew; |     flags.b.renewable = flags.b.renew = renew; | ||||||
| @@ -179,16 +180,18 @@ renew_validate(krb5_context context, | |||||||
|     } |     } | ||||||
|     ret = krb5_cc_initialize(context, cache, in.client); |     ret = krb5_cc_initialize(context, cache, in.client); | ||||||
|     if(ret) { |     if(ret) { | ||||||
|  | 	krb5_free_creds (context, out); | ||||||
| 	krb5_warn(context, ret, "krb5_cc_initialize"); | 	krb5_warn(context, ret, "krb5_cc_initialize"); | ||||||
| 	goto out; | 	goto out; | ||||||
|     } |     } | ||||||
|     ret = krb5_cc_store_cred(context, cache, out); |     ret = krb5_cc_store_cred(context, cache, out); | ||||||
|  |     krb5_free_creds (context, out); | ||||||
|     if(ret) { |     if(ret) { | ||||||
| 	krb5_warn(context, ret, "krb5_cc_store_cred"); | 	krb5_warn(context, ret, "krb5_cc_store_cred"); | ||||||
| 	goto out; | 	goto out; | ||||||
|     } |     } | ||||||
| out: | out: | ||||||
|     krb5_free_creds(context, out); |     krb5_free_creds_contents(context, &in); | ||||||
|     return ret; |     return ret; | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Assar Westerlund
					Assar Westerlund