diff options
-rw-r--r-- | ncr-key.c | 2 | ||||
-rw-r--r-- | ncr-sessions.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/ncr-key.c b/ncr-key.c index f9fdcf4d5b5..295a58ed05d 100644 --- a/ncr-key.c +++ b/ncr-key.c @@ -723,7 +723,7 @@ struct key_item_st* newkey = NULL; /* wrapping keys cannot be used for anything except wrapping. */ - if (key->flags & NCR_KEY_FLAG_WRAPPING) { + if (key->flags & NCR_KEY_FLAG_WRAPPING || key->flags & NCR_KEY_FLAG_UNWRAPPING) { err(); ret = -EINVAL; goto fail; diff --git a/ncr-sessions.c b/ncr-sessions.c index 0a48b23b7f6..e0f8b7bdd12 100644 --- a/ncr-sessions.c +++ b/ncr-sessions.c @@ -253,7 +253,7 @@ static int _ncr_session_init(struct ncr_lists* lists, struct ncr_session_st* ses /* wrapping keys cannot be used for encryption or decryption */ - if (ns->key->flags & NCR_KEY_FLAG_WRAPPING) { + if (ns->key->flags & NCR_KEY_FLAG_WRAPPING || ns->key->flags & NCR_KEY_FLAG_UNWRAPPING) { err(); ret = -EINVAL; goto fail; @@ -331,7 +331,7 @@ static int _ncr_session_init(struct ncr_lists* lists, struct ncr_session_st* ses /* wrapping keys cannot be used for anything except wrapping. */ - if (ns->key->flags & NCR_KEY_FLAG_WRAPPING) { + if (ns->key->flags & NCR_KEY_FLAG_WRAPPING || ns->key->flags & NCR_KEY_FLAG_UNWRAPPING) { err(); ret = -EINVAL; goto fail; |