Fixed memory leak in ecdh_compute_shared() in case of error
diff --git a/library/ecdh.c b/library/ecdh.c
index df21eac..301275a 100644
--- a/library/ecdh.c
+++ b/library/ecdh.c
@@ -65,7 +65,10 @@
     MPI_CHK( ecp_mul( grp, &P, d, Q ) );
 
     if( ecp_is_zero( &P ) )
-        return( POLARSSL_ERR_ECP_BAD_INPUT_DATA );
+    {
+        ret = POLARSSL_ERR_ECP_BAD_INPUT_DATA;
+        goto cleanup;
+    }
 
     MPI_CHK( mpi_copy( z, &P.X ) );