summaryrefslogtreecommitdiffstats
path: root/crypto/heimdal/lib/krb5/ticket.c
diff options
context:
space:
mode:
authornectar <nectar@FreeBSD.org>2004-04-03 21:22:55 +0000
committernectar <nectar@FreeBSD.org>2004-04-03 21:22:55 +0000
commitbfc5316dea97d244a21b45ed0dce56f39074ba1b (patch)
treef009994dd04757b68eff8742614cca170aff5bb3 /crypto/heimdal/lib/krb5/ticket.c
parent084fdb0d6e4fe40ab8ff47ca033fdbcb7899aae1 (diff)
downloadFreeBSD-src-bfc5316dea97d244a21b45ed0dce56f39074ba1b.zip
FreeBSD-src-bfc5316dea97d244a21b45ed0dce56f39074ba1b.tar.gz
Vendor import of Heimdal 0.6.1.
Diffstat (limited to 'crypto/heimdal/lib/krb5/ticket.c')
-rw-r--r--crypto/heimdal/lib/krb5/ticket.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/crypto/heimdal/lib/krb5/ticket.c b/crypto/heimdal/lib/krb5/ticket.c
index 8d2397b..888218e 100644
--- a/crypto/heimdal/lib/krb5/ticket.c
+++ b/crypto/heimdal/lib/krb5/ticket.c
@@ -33,7 +33,7 @@
#include "krb5_locl.h"
-RCSID("$Id: ticket.c,v 1.5 2001/05/14 06:14:51 assar Exp $");
+RCSID("$Id: ticket.c,v 1.5.8.1 2003/09/18 21:01:57 lha Exp $");
krb5_error_code
krb5_free_ticket(krb5_context context,
@@ -51,7 +51,10 @@ krb5_copy_ticket(krb5_context context,
krb5_ticket **to)
{
krb5_error_code ret;
- krb5_ticket *tmp = malloc(sizeof(*tmp));
+ krb5_ticket *tmp;
+
+ *to = NULL;
+ tmp = malloc(sizeof(*tmp));
if(tmp == NULL) {
krb5_set_error_string (context, "malloc: out of memory");
return ENOMEM;
@@ -63,12 +66,14 @@ krb5_copy_ticket(krb5_context context,
ret = krb5_copy_principal(context, from->client, &tmp->client);
if(ret){
free_EncTicketPart(&tmp->ticket);
+ free(tmp);
return ret;
}
- ret = krb5_copy_principal(context, from->server, &(*to)->server);
+ ret = krb5_copy_principal(context, from->server, &tmp->server);
if(ret){
krb5_free_principal(context, tmp->client);
free_EncTicketPart(&tmp->ticket);
+ free(tmp);
return ret;
}
*to = tmp;
OpenPOWER on IntegriCloud