(krb5_domain_x500_encode): if num_realms == 0, set encoding and return
(avoids malloc(0)), check return value for malloc git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@13062 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -368,6 +368,11 @@ krb5_domain_x500_encode(char **realms, int num_realms, krb5_data *encoding)
|
||||
char *s = NULL;
|
||||
int len = 0;
|
||||
int i;
|
||||
if (num_realms == 0) {
|
||||
encoding->data = NULL;
|
||||
encoding->length = 0;
|
||||
return 0;
|
||||
}
|
||||
for(i = 0; i < num_realms; i++){
|
||||
len += strlen(realms[i]);
|
||||
if(realms[i][0] == '/')
|
||||
@@ -375,6 +380,8 @@ krb5_domain_x500_encode(char **realms, int num_realms, krb5_data *encoding)
|
||||
}
|
||||
len += num_realms - 1;
|
||||
s = malloc(len + 1);
|
||||
if (s == NULL)
|
||||
return ENOMEM;
|
||||
*s = '\0';
|
||||
for(i = 0; i < num_realms; i++){
|
||||
if(i && i < num_realms - 1)
|
||||
|
Reference in New Issue
Block a user