- A error_strerror function() has been added to translate between error codes and their description.
- The error codes have been remapped and combining error codes is now done with a PLUS instead of an OR as error codes used are negative.
- Descriptions to all error codes have been added.
- Generation script for error.c has been created to automatically generate error.c from the available error definitions in the headers.
diff --git a/library/rsa.c b/library/rsa.c
index 3018eb4..dfff35b8 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -121,7 +121,7 @@
if( ret != 0 )
{
rsa_free( ctx );
- return( POLARSSL_ERR_RSA_KEY_GEN_FAILED | ret );
+ return( POLARSSL_ERR_RSA_KEY_GEN_FAILED + ret );
}
return( 0 );
@@ -199,8 +199,11 @@
mpi_free( &H ); mpi_free( &I ); mpi_free( &G ); mpi_free( &G2 );
mpi_free( &L1 ); mpi_free( &L2 );
+ if( ret == POLARSSL_ERR_RSA_KEY_CHECK_FAILED )
+ return( ret );
+
if( ret != 0 )
- return( POLARSSL_ERR_RSA_KEY_CHECK_FAILED | ret );
+ return( POLARSSL_ERR_RSA_KEY_CHECK_FAILED + ret );
return( 0 );
}
@@ -235,7 +238,7 @@
mpi_free( &T );
if( ret != 0 )
- return( POLARSSL_ERR_RSA_PUBLIC_FAILED | ret );
+ return( POLARSSL_ERR_RSA_PUBLIC_FAILED + ret );
return( 0 );
}
@@ -295,7 +298,7 @@
mpi_free( &T ); mpi_free( &T1 ); mpi_free( &T2 );
if( ret != 0 )
- return( POLARSSL_ERR_RSA_PRIVATE_FAILED | ret );
+ return( POLARSSL_ERR_RSA_PRIVATE_FAILED + ret );
return( 0 );
}