patch 8.1.1653: ubsan warns for possibly passing NULL pointer

Problem:    Ubsan warns for possibly passing NULL pointer.
Solution:   Skip code when length is zero. (Dominique Pelle, closes #4631)
diff --git a/src/channel.c b/src/channel.c
index eb5af0a..5d1b83a 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -3990,7 +3990,7 @@
 		    writeq_T *last = wq->wq_prev;
 
 		    /* append to the last entry */
-		    if (ga_grow(&last->wq_ga, len) == OK)
+		    if (len > 0 && ga_grow(&last->wq_ga, len) == OK)
 		    {
 			mch_memmove((char *)last->wq_ga.ga_data
 							  + last->wq_ga.ga_len,
@@ -4012,7 +4012,7 @@
 			    wq->wq_prev->wq_next = last;
 			wq->wq_prev = last;
 			ga_init2(&last->wq_ga, 1, 1000);
-			if (ga_grow(&last->wq_ga, len) == OK)
+			if (len > 0 && ga_grow(&last->wq_ga, len) == OK)
 			{
 			    mch_memmove(last->wq_ga.ga_data, buf, len);
 			    last->wq_ga.ga_len = len;