patch 8.2.1561: using NULL pointers in fold code

Problem:    Using NULL pointers in fold code.
Solution:   Avoid using a NULL pointer. (Dominique Pellé, closes #6831,
            closes #6831)
diff --git a/src/fold.c b/src/fold.c
index d95b46b..5c55b07 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -3059,7 +3059,7 @@
 }
 
 #define fold_end(fp) ((fp)->fd_top + (fp)->fd_len - 1)
-#define valid_fold(fp, gap) ((fp) < ((fold_T *)(gap)->ga_data + (gap)->ga_len))
+#define valid_fold(fp, gap) ((gap)->ga_len > 0 && (fp) < ((fold_T *)(gap)->ga_data + (gap)->ga_len))
 #define fold_index(fp, gap) ((size_t)(fp - ((fold_T *)(gap)->ga_data)))
 
     void
diff --git a/src/version.c b/src/version.c
index 29f4363..80c3998 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1561,
+/**/
     1560,
 /**/
     1559,