Try to prevent some misuse of RSA functions
fixes #331
diff --git a/library/rsa.c b/library/rsa.c
index 3883d09..1f907b7 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -359,6 +359,10 @@
size_t olen;
mbedtls_mpi T, T1, T2;
+ /* Make sure we have private key info, prevent possible misuse */
+ if( ctx->P.p == NULL || ctx->Q.p == NULL || ctx->D.p == NULL )
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
+
mbedtls_mpi_init( &T ); mbedtls_mpi_init( &T1 ); mbedtls_mpi_init( &T2 );
#if defined(MBEDTLS_THREADING_C)