Fix for memory leak in RSA-SSA signing

Fix in rsa_rsassa_pkcs1_v15_sign() in rsa.c. Resolves github issue #372
diff --git a/library/rsa.c b/library/rsa.c
index 9fe62d1..deade5c 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -1034,10 +1034,16 @@
      * temporary buffer and check it before returning it.
      */
     sig_try = malloc( ctx->len );
-    verif   = malloc( ctx->len );
-    if( sig_try == NULL || verif == NULL )
+    if( sig_try == NULL )
         return( POLARSSL_ERR_MPI_MALLOC_FAILED );
 
+    verif   = malloc( ctx->len );
+    if( verif == NULL )
+    {
+        free( sig_try );
+        return( POLARSSL_ERR_MPI_MALLOC_FAILED );
+    }
+
     MPI_CHK( rsa_private( ctx, f_rng, p_rng, sig, sig_try ) );
     MPI_CHK( rsa_public( ctx, sig_try, verif ) );