diff --git a/library/ecdsa.c b/library/ecdsa.c
index 11b7f5e..1074850 100644
--- a/library/ecdsa.c
+++ b/library/ecdsa.c
@@ -75,7 +75,10 @@
             MPI_CHK( mpi_copy( r, &R.X ) );
 
             if( key_tries++ > 10 )
-                return( POLARSSL_ERR_ECP_GENERIC );
+            {
+                ret = POLARSSL_ERR_ECP_GENERIC;
+                goto cleanup;
+            }
         }
         while( mpi_cmp_int( r, 0 ) == 0 );
 
@@ -94,7 +97,10 @@
         MPI_CHK( mpi_mod_mpi( s, s, &grp->N ) );
 
         if( sign_tries++ > 10 )
-            return( POLARSSL_ERR_ECP_GENERIC );
+        {
+            ret = POLARSSL_ERR_ECP_GENERIC;
+            goto cleanup;
+        }
     }
     while( mpi_cmp_int( s, 0 ) == 0 );
 
@@ -127,7 +133,8 @@
     if( mpi_cmp_int( r, 1 ) < 0 || mpi_cmp_mpi( r, &grp->N ) >= 0 ||
         mpi_cmp_int( s, 1 ) < 0 || mpi_cmp_mpi( s, &grp->N ) >= 0 )
     {
-        return( POLARSSL_ERR_ECP_BAD_INPUT_DATA );
+        ret = POLARSSL_ERR_ECP_BAD_INPUT_DATA;
+        goto cleanup;
     }
 
     /*
@@ -159,13 +166,19 @@
     MPI_CHK( ecp_add( grp, &R, &R, &P ) );
 
     if( ecp_is_zero( &R ) )
-        return( POLARSSL_ERR_ECP_BAD_INPUT_DATA );
+    {
+        ret = POLARSSL_ERR_ECP_BAD_INPUT_DATA;
+        goto cleanup;
+    }
 
     /*
      * Step 6: check that xR == r
      */
     if( mpi_cmp_mpi( &R.X, r ) != 0 )
-        return( POLARSSL_ERR_ECP_BAD_INPUT_DATA );
+    {
+        ret = POLARSSL_ERR_ECP_BAD_INPUT_DATA;
+        goto cleanup;
+    }
 
 cleanup:
     ecp_point_free( &R ); ecp_point_free( &P );
