From 70aae422eb196359d06f4d9b0d520bfd2e9669de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Thu, 16 Jun 2005 20:19:57 +0000 Subject: [PATCH] (_krb5_expand_default_cc_name): just copy the string instead of losing const git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15445 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/cache.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/lib/krb5/cache.c b/lib/krb5/cache.c index da5cf7b12..d7d709a67 100644 --- a/lib/krb5/cache.c +++ b/lib/krb5/cache.c @@ -260,18 +260,18 @@ _krb5_expand_default_cc_name(krb5_context context, const char *str, char **res) (int)(tmp2 - tmp) - 2, tmp + 2); return KRB5_CONFIG_BADFORMAT; } - if (append == NULL) { - free(*res); - res = NULL; - krb5_set_error_string(context, "malloc - out of memory"); - return ENOMEM; - } str = tmp2 + 1; } else { - append = (char *)str; + append = strdup(str); str = NULL; } - + if (append == NULL) { + free(*res); + res = NULL; + krb5_set_error_string(context, "malloc - out of memory"); + return ENOMEM; + } + tlen = strlen(append); tmp = realloc(*res, len + tlen + 1); if (tmp == NULL) { @@ -283,8 +283,7 @@ _krb5_expand_default_cc_name(krb5_context context, const char *str, char **res) *res = tmp; memcpy(*res + len, append, tlen + 1); len = len + tlen; - if (str) - free(append); + free(append); } return 0; }