(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
This commit is contained in:
Love Hörnquist Åstrand
2003-08-13 09:16:59 +00:00
parent cee99a6713
commit 7fa222d32b

View File

@@ -321,14 +321,17 @@ unparse_name(krb5_context context,
len += 2*plen; len += 2*plen;
len++; len++;
} }
len++;
*name = malloc(len); *name = malloc(len);
if(len != 0 && *name == NULL) { if(len != 0 && *name == NULL) {
krb5_set_error_string (context, "malloc: out of memory"); krb5_set_error_string (context, "malloc: out of memory");
return ENOMEM; return ENOMEM;
} }
ret = unparse_name_fixed(context, principal, *name, len, short_flag); ret = unparse_name_fixed(context, principal, *name, len, short_flag);
if(ret) if(ret) {
free(*name); free(*name);
*name = NULL;
}
return ret; return ret;
} }