(append_component): change parameter to `const char *'. check malloc
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@7802 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -348,16 +348,19 @@ krb5_build_principal(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
append_component(krb5_context context, krb5_principal p,
|
append_component(krb5_context context, krb5_principal p,
|
||||||
const general_string comp,
|
const char *comp,
|
||||||
size_t comp_len)
|
size_t comp_len)
|
||||||
{
|
{
|
||||||
general_string *tmp;
|
general_string *tmp;
|
||||||
size_t len = princ_num_comp(p);
|
size_t len = princ_num_comp(p);
|
||||||
|
|
||||||
tmp = realloc(princ_comp(p), (len + 1) * sizeof(*tmp));
|
tmp = realloc(princ_comp(p), (len + 1) * sizeof(*tmp));
|
||||||
if(tmp == NULL)
|
if(tmp == NULL)
|
||||||
return ENOMEM;
|
return ENOMEM;
|
||||||
princ_comp(p) = tmp;
|
princ_comp(p) = tmp;
|
||||||
princ_ncomp(p, len) = malloc(comp_len + 1);
|
princ_ncomp(p, len) = malloc(comp_len + 1);
|
||||||
|
if (princ_ncomp(p, len) == NULL)
|
||||||
|
return ENOMEM;
|
||||||
memcpy (princ_ncomp(p, len), comp, comp_len);
|
memcpy (princ_ncomp(p, len), comp, comp_len);
|
||||||
princ_ncomp(p, len)[comp_len] = '\0';
|
princ_ncomp(p, len)[comp_len] = '\0';
|
||||||
princ_num_comp(p)++;
|
princ_num_comp(p)++;
|
||||||
|
Reference in New Issue
Block a user