diff options
author | Andrzej Kurek <andrzej.kurek@arm.com> | 2018-02-19 04:07:31 -0500 |
---|---|---|
committer | Andrzej Kurek <andrzej.kurek@arm.com> | 2018-02-19 04:07:31 -0500 |
commit | 9982e07a9239a7efc25aece68274818a946c1d76 (patch) | |
tree | 8521db6138b08f9f6019bc15fe516848a25c96dc | |
parent | 12603548fdd17445f5963ae3abd10ff49b07ccef (diff) | |
download | mbedtls-9982e07a9239a7efc25aece68274818a946c1d76.zip mbedtls-9982e07a9239a7efc25aece68274818a946c1d76.tar.gz mbedtls-9982e07a9239a7efc25aece68274818a946c1d76.tar.bz2 |
PKCS11: Refactor mpi_to_ck
Refactor mpi_to_ck to return zero on success, and
propagate mbedtls_mpi_write_binary error on fail
-rw-r--r-- | library/pkcs11_client.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/library/pkcs11_client.c b/library/pkcs11_client.c index e1b7e6d..cb803cd 100644 --- a/library/pkcs11_client.c +++ b/library/pkcs11_client.c @@ -416,23 +416,24 @@ static int mpi_to_ck( const mbedtls_mpi *mpi, CK_ATTRIBUTE *attr, CK_ATTRIBUTE_TYPE at, unsigned char **p, size_t len ) { - if( mbedtls_mpi_write_binary( mpi, *p, len ) != 0 ) - return( 0 ); + int ret = mbedtls_mpi_write_binary( mpi, *p, len ); + if( ret != 0 ) + return( ret ); attr->type = at; attr->pValue = *p; attr->ulValueLen = len; *p += len; - return( 1 ); + return( 0 ); } -#define MPI_TO_CK( mpi, attr, at, p, len ) \ - do \ - { \ - if( !mpi_to_ck( ( mpi ), ( attr ), ( at ), ( p ), ( len ) ) ) \ - { \ - rv = CKR_ARGUMENTS_BAD; \ - goto exit; \ - } \ - } \ +#define MPI_TO_CK( mpi, attr, at, p, len ) \ + do \ + { \ + if( mpi_to_ck( ( mpi ), ( attr ), ( at ), ( p ), ( len ) ) != 0) \ + { \ + rv = CKR_ARGUMENTS_BAD; \ + goto exit; \ + } \ + } \ while( 0 ) #endif /* defined(MBEDTLS_RSA_C) || defined(MBEDTLS_ECDSA_C) */ |