Don't bother to free NULL subcontexts
diff --git a/library/ecp.c b/library/ecp.c
index a8c367a..0c9feae 100644
--- a/library/ecp.c
+++ b/library/ecp.c
@@ -1989,7 +1989,8 @@
 
     /* clear our sub-context when not in progress (done or error) */
 #if defined(MBEDTLS_ECP_RESTARTABLE)
-    if( rs_ctx != NULL && ret != MBEDTLS_ERR_ECP_IN_PROGRESS )
+    if( rs_ctx != NULL && rs_ctx->rsm != NULL &&
+        ret != MBEDTLS_ERR_ECP_IN_PROGRESS )
     {
         ecp_restart_mul_free( rs_ctx->rsm );
         mbedtls_free( rs_ctx->rsm );
@@ -2457,7 +2458,8 @@
 
 #if defined(MBEDTLS_ECP_RESTARTABLE)
     /* clear our sub-context when not in progress (done or error) */
-    if( rs_ctx != NULL && ret != MBEDTLS_ERR_ECP_IN_PROGRESS )
+    if( rs_ctx != NULL && rs_ctx->ma != NULL &&
+        ret != MBEDTLS_ERR_ECP_IN_PROGRESS )
     {
         ecp_restart_muladd_free( rs_ctx->ma );
         mbedtls_free( rs_ctx->ma );