diff --git a/src/memline.c b/src/memline.c
index 5ca50fc..6c63fad 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -5556,7 +5556,10 @@
 
     new_data = alloc(size);
     if (new_data == NULL)
+    {
+	crypt_free_state(state);
 	return NULL;
+    }
     head_end = (char_u *)(&dp->db_index[dp->db_line_count]);
     text_start = (char_u *)dp + dp->db_txt_start;
     text_len = size - dp->db_txt_start;
diff --git a/src/userfunc.c b/src/userfunc.c
index b023c3a..1bd1a28 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -555,7 +555,9 @@
 			type = &t_any;
 			for (int om = 0; om < obj_member_count; ++om)
 			{
-			    if (STRCMP(aname, obj_members[om].ocm_name) == 0)
+			    if (obj_members != NULL
+				    && STRCMP(aname,
+					obj_members[om].ocm_name) == 0)
 			    {
 				type = obj_members[om].ocm_type;
 				break;
diff --git a/src/version.c b/src/version.c
index 9f9386f..5a005bd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    270,
+/**/
     269,
 /**/
     268,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 053f617..2d128e0 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -4573,6 +4573,7 @@
 		    {
 			SOURCING_LNUM = iptr->isn_lnum;
 			iemsg("ufunc unexpectedly NULL for FUNCREF");
+			vim_free(pt);
 			goto theend;
 		    }
 		    if (fill_partial_and_closure(pt, ufunc,
diff --git a/src/vim9expr.c b/src/vim9expr.c
index 43b13d8..97a7f4e 100644
--- a/src/vim9expr.c
+++ b/src/vim9expr.c
@@ -1561,7 +1561,10 @@
     if (d == NULL)
 	return FAIL;
     if (generate_ppconst(cctx, ppconst) == FAIL)
+    {
+	dict_unref(d);
 	return FAIL;
+    }
     for (;;)
     {
 	char_u	    *key = NULL;
