patch 8.2.4309: Vim9: crash when using a partial in the wrong context

Problem:    Vim9: crash when using a partial in the wrong context.
Solution:   Don't use an NULL outer pointer. (closes #9706)
diff --git a/src/vim9execute.c b/src/vim9execute.c
index cac8c51..6c79ff7 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -1694,7 +1694,7 @@
 }
 
 /*
- * Store a value in a list or dict variable.
+ * Store a value in a list, dict or blob variable.
  * Returns OK, FAIL or NOTDONE (uncatchable error).
  */
     static int
@@ -5081,12 +5081,16 @@
 		goto failed_early;
 	    if (partial != NULL)
 	    {
-		if (partial->pt_outer.out_stack == NULL && current_ectx != NULL)
+		if (partial->pt_outer.out_stack == NULL)
 		{
-		    if (current_ectx->ec_outer_ref != NULL
-			    && current_ectx->ec_outer_ref->or_outer != NULL)
-			ectx.ec_outer_ref->or_outer =
+		    if (current_ectx != NULL)
+		    {
+			if (current_ectx->ec_outer_ref != NULL
+			       && current_ectx->ec_outer_ref->or_outer != NULL)
+			    ectx.ec_outer_ref->or_outer =
 					  current_ectx->ec_outer_ref->or_outer;
+		    }
+		    // Should there be an error here?
 		}
 		else
 		{