patch 8.2.2279: Vim9: memory leak with catch in skipped block

Problem:    Vim9: memory leak with catch in skipped block.
Solution:   Free the pattern if not used.
diff --git a/src/vim9compile.c b/src/vim9compile.c
index bb33d38..23da8f2 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -1009,7 +1009,11 @@
 {
     isn_T	*isn;
 
-    RETURN_OK_IF_SKIP(cctx);
+    if (cctx->ctx_skip == SKIP_YES)
+    {
+	vim_free(str);
+	return OK;
+    }
     if ((isn = generate_instr_type(cctx, ISN_PUSHS, &t_string)) == NULL)
 	return FAIL;
     isn->isn_arg.string = str;