diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-06-02 15:44:28 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-06-17 20:47:39 +0200 |
commit | f72b0d07a071d20cf27ed1cc160de5bd675dc992 (patch) | |
tree | b756eec7fd8402419580ce28d4723a3a21cf20e6 /ncr-storage.c | |
parent | 331c71959cab925c9a87d471f8d22be435566651 (diff) | |
download | cryptodev-linux-f72b0d07a071d20cf27ed1cc160de5bd675dc992.tar.gz cryptodev-linux-f72b0d07a071d20cf27ed1cc160de5bd675dc992.tar.xz cryptodev-linux-f72b0d07a071d20cf27ed1cc160de5bd675dc992.zip |
Added a netlink based storage fascility (server needs
to be implemented).
Diffstat (limited to 'ncr-storage.c')
-rw-r--r-- | ncr-storage.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/ncr-storage.c b/ncr-storage.c index b5db4b1..15df0de 100644 --- a/ncr-storage.c +++ b/ncr-storage.c @@ -58,11 +58,9 @@ int _ncr_key_to_store(const struct key_item_st *key, const char* label, switch(key->type) { case NCR_KEY_TYPE_SECRET: /* uint16_t size + raw key */ - output->raw_key = kmalloc(sizeof(uint8_t)+sizeof(uint16_t)+MAX_KEY_SIZE, GFP_KERNEL); - if (output->raw_key == NULL) { - err(); - return -ENOMEM; - } + if (sizeof(output->raw_key) < key->key.secret.size + 2) + BUG(); + output->raw_key[0] = (key->key.secret.size >> 8) & 0xff; output->raw_key[1] = (key->key.secret.size) & 0xff; memcpy(&output->raw_key[2], key->key.secret.data, key->key.secret.size); @@ -121,8 +119,6 @@ int ncr_storage_store(struct list_sem_st* key_lst, void __user* arg) } ret = _ncr_store(&tostore); - kfree(tostore.raw_key); - if (ret < 0) { err(); goto fail; @@ -175,8 +171,6 @@ int ncr_storage_load(struct list_sem_st* key_lst, void __user* arg) } ret = _ncr_store_to_key(&loaded, key); - kfree(loaded.raw_key); - if (ret < 0) { err(); goto fail; |