fix parsing

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2555 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1997-07-23 06:23:49 +00:00
parent c9d867cb41
commit f05b5fb711
2 changed files with 22 additions and 12 deletions

View File

@@ -130,15 +130,20 @@ parse_keys(hdb_entry *ent, char *str)
((u_char*)key->key.keyvalue.data)[i / 2] = tmp;
}
p = strtok_r(NULL, ":", &save);
if(strcmp(p, "-") != 0){
if (p == NULL) {
key->salt = malloc(sizeof(*key->salt));
krb5_data_alloc(key->salt, (strlen(p) - 1) / 2 + 1);
for(i = 0; i < strlen(p); i += 2){
sscanf(p + i, "%02x", &tmp);
((u_char*)key->salt->data)[i / 2] = tmp;
krb5_data_zero (key->salt);
} else {
if(strcmp(p, "-") != 0){
key->salt = malloc(sizeof(*key->salt));
krb5_data_alloc(key->salt, (strlen(p) - 1) / 2 + 1);
for(i = 0; i < strlen(p); i += 2){
sscanf(p + i, "%02x", &tmp);
((u_char*)key->salt->data)[i / 2] = tmp;
}
}
p = strtok_r(NULL, ":", &save);
}
p = strtok_r(NULL, ":", &save);
}
}

View File

@@ -130,15 +130,20 @@ parse_keys(hdb_entry *ent, char *str)
((u_char*)key->key.keyvalue.data)[i / 2] = tmp;
}
p = strtok_r(NULL, ":", &save);
if(strcmp(p, "-") != 0){
if (p == NULL) {
key->salt = malloc(sizeof(*key->salt));
krb5_data_alloc(key->salt, (strlen(p) - 1) / 2 + 1);
for(i = 0; i < strlen(p); i += 2){
sscanf(p + i, "%02x", &tmp);
((u_char*)key->salt->data)[i / 2] = tmp;
krb5_data_zero (key->salt);
} else {
if(strcmp(p, "-") != 0){
key->salt = malloc(sizeof(*key->salt));
krb5_data_alloc(key->salt, (strlen(p) - 1) / 2 + 1);
for(i = 0; i < strlen(p); i += 2){
sscanf(p + i, "%02x", &tmp);
((u_char*)key->salt->data)[i / 2] = tmp;
}
}
p = strtok_r(NULL, ":", &save);
}
p = strtok_r(NULL, ":", &save);
}
}