(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:
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user