patch 8.2.4632: using freed memory in flatten()

Problem:    Using freed memory in flatten().
Solution:   Clear typval after recursing into list.
diff --git a/src/list.c b/src/list.c
index 3354068..666fb5a 100644
--- a/src/list.c
+++ b/src/list.c
@@ -953,12 +953,12 @@
 		list_free_item(list, item);
 		return;
 	    }
-	    clear_tv(&item->li_tv);
 
 	    if (maxdepth > 0)
 		list_flatten(list, item->li_prev == NULL
 				     ? list->lv_first : item->li_prev->li_next,
 				itemlist->lv_len, maxdepth - 1);
+	    clear_tv(&item->li_tv);
 	    list_free_item(list, item);
 	}
 
diff --git a/src/version.c b/src/version.c
index 9d78a0e..962fa0b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4632,
+/**/
     4631,
 /**/
     4630,