(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:
Assar Westerlund
2000-01-16 11:03:54 +00:00
parent f2ed3ddd2f
commit 272e524f36

View File

@@ -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)++;