patch 8.0.1435: memory leak in test_arabic

Problem:    Memory leak in test_arabic.
Solution:   Free the from and to parts. (Christian Brabandt, closes #2569)
diff --git a/src/digraph.c b/src/digraph.c
index 6b5a5aa..2c7ba9f 100644
--- a/src/digraph.c
+++ b/src/digraph.c
@@ -2452,9 +2452,8 @@
     {
 	vim_snprintf((char *)buf, sizeof(buf), "<buffer> %s", kp[i].from);
 	(void)do_map(1, buf, LANGMAP, FALSE);
-	vim_free(kp[i].from);
-	vim_free(kp[i].to);
     }
+    keymap_clear(&curbuf->b_kmap_ga);
 
     p_cpo = save_cpo;
 
@@ -2463,4 +2462,16 @@
     status_redraw_curbuf();
 }
 
+    void
+keymap_clear(garray_T *kmap)
+{
+    int	    i;
+    kmap_T  *kp = (kmap_T *)kmap->ga_data;
+
+    for (i = 0; i < kmap->ga_len; ++i)
+    {
+	vim_free(kp[i].from);
+	vim_free(kp[i].to);
+    }
+}
 #endif /* FEAT_KEYMAP */