From f05b5fb711e4ce579be5713cf157efcbd9c940a8 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Wed, 23 Jul 1997 06:23:49 +0000 Subject: [PATCH] fix parsing git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2555 ec53bebd-3082-4978-b11e-865c3cabbd6b --- admin/load.c | 17 +++++++++++------ kadmin/load.c | 17 +++++++++++------ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/admin/load.c b/admin/load.c index 863e7cc80..1f9b0c61e 100644 --- a/admin/load.c +++ b/admin/load.c @@ -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); } } diff --git a/kadmin/load.c b/kadmin/load.c index 863e7cc80..1f9b0c61e 100644 --- a/kadmin/load.c +++ b/kadmin/load.c @@ -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); } }