Don't leak memory.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2227 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		| @@ -83,11 +83,8 @@ main (int argc, char **argv) | |||||||
|       errx (1, "krb5_cc_initialize: %s", |       errx (1, "krb5_cc_initialize: %s", | ||||||
| 	    krb5_get_err_text(context, err)); | 	    krb5_get_err_text(context, err)); | ||||||
|  |  | ||||||
|   cred.client = principal; |  | ||||||
|   cred.times.endtime = 0; |  | ||||||
|  |  | ||||||
|   err = krb5_build_principal_ext (context, |   err = krb5_build_principal_ext (context, | ||||||
| 				  &cred.server, | 				  &server, | ||||||
| #ifdef USE_ASN1_PRINCIPAL | #ifdef USE_ASN1_PRINCIPAL | ||||||
| 				  strlen(principal->realm), | 				  strlen(principal->realm), | ||||||
| 				  principal->realm, | 				  principal->realm, | ||||||
| @@ -110,11 +107,15 @@ main (int argc, char **argv) | |||||||
| 	    krb5_get_err_text(context, err)); | 	    krb5_get_err_text(context, err)); | ||||||
|  |  | ||||||
| #ifdef USE_ASN1_PRINCIPAL | #ifdef USE_ASN1_PRINCIPAL | ||||||
|   cred.server->name.name_type = KRB5_NT_SRV_INST; |   server->name.name_type = KRB5_NT_SRV_INST; | ||||||
| #else | #else | ||||||
|   cred.server->type = KRB5_NT_SRV_INST; |   server->type = KRB5_NT_SRV_INST; | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  |   cred.client = principal; | ||||||
|  |   cred.server = server; | ||||||
|  |   cred.times.endtime = 0; | ||||||
|  |  | ||||||
|   err = krb5_get_in_tkt_with_password (context, |   err = krb5_get_in_tkt_with_password (context, | ||||||
| 				       options.i, | 				       options.i, | ||||||
| 				       NULL, | 				       NULL, | ||||||
| @@ -128,6 +129,9 @@ main (int argc, char **argv) | |||||||
|       errx (1, "krb5_get_in_tkt_with_password: %s", |       errx (1, "krb5_get_in_tkt_with_password: %s", | ||||||
| 	    krb5_get_err_text(context, err)); | 	    krb5_get_err_text(context, err)); | ||||||
|    |    | ||||||
|  |   krb5_free_principal (context, principal); | ||||||
|  |   krb5_free_principal (context, server); | ||||||
|  |   krb5_free_ccache (context, ccache); | ||||||
|   krb5_free_context (context); |   krb5_free_context (context); | ||||||
|   return 0; |   return 0; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -159,6 +159,7 @@ main (int argc, char **argv) | |||||||
| 	}else{ | 	}else{ | ||||||
| 	    print_cred(context, &creds); | 	    print_cred(context, &creds); | ||||||
| 	} | 	} | ||||||
|  | 	krb5_free_creds (context, &creds); | ||||||
|     } |     } | ||||||
|     ret = krb5_cc_end_seq_get (context, ccache, &cursor); |     ret = krb5_cc_end_seq_get (context, ccache, &cursor); | ||||||
|     if (ret) |     if (ret) | ||||||
| @@ -169,7 +170,6 @@ main (int argc, char **argv) | |||||||
| 	errx (1, "krb5_cc_close: %s", krb5_get_err_text(context,ret)); | 	errx (1, "krb5_cc_close: %s", krb5_get_err_text(context,ret)); | ||||||
|  |  | ||||||
|     krb5_free_principal (context, principal); |     krb5_free_principal (context, principal); | ||||||
|  |  | ||||||
|     krb5_free_context (context); |     krb5_free_context (context); | ||||||
|     return 0; |     return 0; | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Assar Westerlund
					Assar Westerlund