summaryrefslogtreecommitdiffstats
path: root/userspace/ncrypto_params.c
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2010-08-06 01:25:17 +0200
committerMiloslav Trmač <mitr@redhat.com>2010-08-24 20:58:31 +0200
commit750e7a6282a4eaf58b5309ece1caedb238d44853 (patch)
tree11d3438634c3374cc2f211a019c81162d0837484 /userspace/ncrypto_params.c
parent086611087534593e8543c193ac12a6b07865be26 (diff)
downloadcryptodev-linux-750e7a6282a4eaf58b5309ece1caedb238d44853.tar.gz
cryptodev-linux-750e7a6282a4eaf58b5309ece1caedb238d44853.tar.xz
cryptodev-linux-750e7a6282a4eaf58b5309ece1caedb238d44853.zip
Use EOVERFLOW if input data is too large
Diffstat (limited to 'userspace/ncrypto_params.c')
-rw-r--r--userspace/ncrypto_params.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/userspace/ncrypto_params.c b/userspace/ncrypto_params.c
index 0bbe0df..d365432 100644
--- a/userspace/ncrypto_params.c
+++ b/userspace/ncrypto_params.c
@@ -33,10 +33,14 @@ ncr_key_params_deinit(ncr_key_params_t params)
int
ncr_key_params_set_cipher_iv(ncr_key_params_t params, void* iv, unsigned int iv_size)
{
- if (!params || (iv_size > NCR_CIPHER_MAX_BLOCK_LEN)) {
+ if (!params) {
errno = EINVAL;
return -1;
}
+ if (iv_size > NCR_CIPHER_MAX_BLOCK_LEN) {
+ errno = EOVERFLOW;
+ return -1;
+ }
memmove(params->params.cipher.iv, iv, iv_size);
params->params.cipher.iv_size = iv_size;
return 0;