From 7fa222d32bb1c48bb62ece71607bc327666c411a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Wed, 13 Aug 2003 09:16:59 +0000 Subject: [PATCH] (unparse_name): make sure there are space for a NUL, set *name to NULL when there is a failure (so caller can't get hold of a freed pointer) git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@12524 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/principal.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/krb5/principal.c b/lib/krb5/principal.c index f3243f860..cfdd86d0d 100644 --- a/lib/krb5/principal.c +++ b/lib/krb5/principal.c @@ -321,14 +321,17 @@ unparse_name(krb5_context context, len += 2*plen; len++; } + len++; *name = malloc(len); if(len != 0 && *name == NULL) { krb5_set_error_string (context, "malloc: out of memory"); return ENOMEM; } ret = unparse_name_fixed(context, principal, *name, len, short_flag); - if(ret) + if(ret) { free(*name); + *name = NULL; + } return ret; }