diff --git a/lib/krb5/cache.c b/lib/krb5/cache.c index 0120144a8..da5cf7b12 100644 --- a/lib/krb5/cache.c +++ b/lib/krb5/cache.c @@ -233,7 +233,11 @@ _krb5_expand_default_cc_name(krb5_context context, const char *str, char **res) while (str && *str) { tmp = strstr(str, "%{"); if (tmp && tmp != str) { - append = strndup(str, tmp - str); + append = malloc((tmp - str) + 1); + if (append) { + memcpy(append, str, tmp - str); + append[tmp - str] = '\0'; + } str = tmp; } else if (tmp) { tmp2 = strchr(tmp, '}');