(parse_keys): handle the case of an empty salt

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3111 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1997-08-24 07:32:38 +00:00
parent 19f08466bc
commit d40e3d0566
2 changed files with 20 additions and 10 deletions

View File

@@ -135,12 +135,17 @@ parse_keys(hdb_entry *ent, char *str)
krb5_data_zero (key->salt);
} else {
if(strcmp(p, "-") != 0){
size_t p_len = strlen(p);
key->salt = malloc(sizeof(*key->salt));
krb5_data_alloc(key->salt, (strlen(p) - 1) / 2 + 1);
for(i = 0; i < strlen(p); i += 2){
if (p_len) {
krb5_data_alloc(key->salt, (p_len - 1) / 2 + 1);
for(i = 0; i < p_len; i += 2){
sscanf(p + i, "%02x", &tmp);
((u_char*)key->salt->data)[i / 2] = tmp;
}
} else
krb5_data_zero (key->salt);
}
p = strsep(&str, ":");
}

View File

@@ -135,12 +135,17 @@ parse_keys(hdb_entry *ent, char *str)
krb5_data_zero (key->salt);
} else {
if(strcmp(p, "-") != 0){
size_t p_len = strlen(p);
key->salt = malloc(sizeof(*key->salt));
krb5_data_alloc(key->salt, (strlen(p) - 1) / 2 + 1);
for(i = 0; i < strlen(p); i += 2){
if (p_len) {
krb5_data_alloc(key->salt, (p_len - 1) / 2 + 1);
for(i = 0; i < p_len; i += 2){
sscanf(p + i, "%02x", &tmp);
((u_char*)key->salt->data)[i / 2] = tmp;
}
} else
krb5_data_zero (key->salt);
}
p = strsep(&str, ":");
}