summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2016-12-14 10:52:27 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2016-12-14 10:55:57 +0100
commit0991158e093c9e81dfd141fb95db3f4ff161e8d0 (patch)
treef595b74722a56a83d3a58e2e9dd43af93c9f4b54
parentdb44b0ead6ef32b3f069529f0e6cb13badaa60b3 (diff)
downloadgnutls-0991158e093c9e81dfd141fb95db3f4ff161e8d0.tar.gz
_gnutls_pkcs_raw_decrypt_data: merge all errors during decryption to GNUTLS_E_DECRYPTION_FAILED
This makes the function's return values simpler to handle.
-rw-r--r--lib/x509/pkcs7-crypt.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/x509/pkcs7-crypt.c b/lib/x509/pkcs7-crypt.c
index 0e23f6b73a..968775657e 100644
--- a/lib/x509/pkcs7-crypt.c
+++ b/lib/x509/pkcs7-crypt.c
@@ -1093,7 +1093,7 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, ASN1_TYPE pkcs8_asn,
if (ce->type == CIPHER_BLOCK && (enc.size % block_size != 0)) {
gnutls_assert();
- ret = GNUTLS_E_ILLEGAL_PARAMETER;
+ ret = GNUTLS_E_DECRYPTION_FAILED;
goto error;
}
@@ -1121,6 +1121,7 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, ASN1_TYPE pkcs8_asn,
ret = _gnutls_cipher_decrypt(&ch, enc.data, enc.size);
if (ret < 0) {
gnutls_assert();
+ ret = GNUTLS_E_DECRYPTION_FAILED;
goto error;
}
@@ -1132,7 +1133,7 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, ASN1_TYPE pkcs8_asn,
if (pslen > block_size || pslen >= enc.size || pslen == 0) {
gnutls_assert();
- ret = GNUTLS_E_ILLEGAL_PARAMETER;
+ ret = GNUTLS_E_DECRYPTION_FAILED;
goto error;
}
@@ -1141,7 +1142,7 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, ASN1_TYPE pkcs8_asn,
for (i=0;i<pslen;i++) {
if (enc.data[enc.size-1-i] != pslen) {
gnutls_assert();
- ret = GNUTLS_E_ILLEGAL_PARAMETER;
+ ret = GNUTLS_E_DECRYPTION_FAILED;
goto error;
}
}