diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-07-23 08:32:01 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-07-23 08:32:01 +0200 |
commit | 4b54c5727b7a22e0beacd40b94889b29bb57abcd (patch) | |
tree | e8dda2de5e468e189c6017b98eaad38ecf8fe0fe /ncr-data.c | |
parent | 8243a470ec9a7e2ffea5f70539c468341100aef8 (diff) | |
download | cryptodev-linux-4b54c5727b7a22e0beacd40b94889b29bb57abcd.tar.gz cryptodev-linux-4b54c5727b7a22e0beacd40b94889b29bb57abcd.tar.xz cryptodev-linux-4b54c5727b7a22e0beacd40b94889b29bb57abcd.zip |
Append_flag was removed.
Diffstat (limited to 'ncr-data.c')
-rw-r--r-- | ncr-data.c | 33 |
1 files changed, 6 insertions, 27 deletions
@@ -282,37 +282,16 @@ int ncr_data_set(struct list_sem_st* lst, void __user* arg) goto cleanup; } - if (!get.append_flag) { - if (get.data != NULL) { - if (unlikely(copy_from_user(data->data, get.data, - get.data_size))) { - err(); - ret = -EFAULT; - goto cleanup; - } - } - data->data_size = get.data_size; - } else { - size_t offset; - - offset = data->data_size; - /* get.data_size <= data->max_data_size, which is limited in - data_alloc(), so there is no integer overflow. */ - if (get.data_size+offset > data->max_data_size) { + if (get.data != NULL) { + if (unlikely(copy_from_user(data->data, get.data, + get.data_size))) { err(); - ret = -EINVAL; + ret = -EFAULT; goto cleanup; } - if (get.data != NULL) { - if (unlikely(copy_from_user(&data->data[offset], - get.data, get.data_size))) { - err(); - ret = -EFAULT; - goto cleanup; - } - } - data->data_size = offset + get.data_size; } + data->data_size = get.data_size; + ret = 0; cleanup: |