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; }