From fd903c9147d7cfd7fb10fc11f210c0898cc18dcc Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Wed, 6 Aug 1997 17:24:23 +0000 Subject: [PATCH] Don't free data in krb5_data_alloc. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2714 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/data.c | 53 ++++++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 29 deletions(-) diff --git a/lib/krb5/data.c b/lib/krb5/data.c index f0e5e961d..f83be03ef 100644 --- a/lib/krb5/data.c +++ b/lib/krb5/data.c @@ -50,48 +50,43 @@ krb5_data_zero(krb5_data *p) void krb5_data_free(krb5_data *p) { - if(p->length && p->data) - free(p->data); - p->length = 0; + if(p->length && p->data) + free(p->data); + p->length = 0; } krb5_error_code krb5_data_alloc(krb5_data *p, int len) { - krb5_data_free(p); - if (len) { - p->data = (krb5_pointer)malloc(len); - if(!p->data) - return ENOMEM; - } else - p->data = NULL; - p->length = len; - return 0; + p->data = malloc(len); + if(p->data == NULL) + return ENOMEM; + p->length = len; + return 0; } krb5_error_code krb5_data_realloc(krb5_data *p, int len) { - void *tmp; - tmp = realloc(p->data, len); - if(!tmp) - return ENOMEM; - p->data = tmp; - p->length = len; - return 0; + void *tmp; + tmp = realloc(p->data, len); + if(!tmp) + return ENOMEM; + p->data = tmp; + p->length = len; + return 0; } krb5_error_code krb5_data_copy(krb5_data *p, void *data, size_t len) { - krb5_data_free(p); - if (len) { - p->data = (krb5_pointer)malloc(len); - if(!p->data) - return ENOMEM; - memmove(p->data, data, len); - } else - p->data = NULL; - p->length = len; - return 0; + krb5_data_free(p); + if (len) { + if(krb5_data_alloc(p, len)) + return ENOMEM; + memmove(p->data, data, len); + } else + p->data = NULL; + p->length = len; + return 0; }