diff --git a/src/channel.c b/src/channel.c
index c18f25e..def6833 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -560,8 +560,9 @@
 
 /*
  * Store "buf[len]" on channel "idx".
+ * Returns OK or FAIL.
  */
-    void
+    int
 channel_save(int idx, char_u *buf, int len)
 {
     queue_T *node;
@@ -569,12 +570,12 @@
 
     node = (queue_T *)alloc(sizeof(queue_T));
     if (node == NULL)
-	return;	    /* out of memory */
+	return FAIL;	    /* out of memory */
     node->buffer = alloc(len + 1);
     if (node->buffer == NULL)
     {
 	vim_free(node);
-	return;	    /* out of memory */
+	return FAIL;	    /* out of memory */
     }
     mch_memmove(node->buffer, buf, (size_t)len);
     node->buffer[len] = NUL;
@@ -594,9 +595,11 @@
     if (debugfd != NULL)
     {
 	fprintf(debugfd, "RECV on %d: ", idx);
-	fwrite(buf, len, 1, debugfd);
+	if (fwrite(buf, len, 1, debugfd) != 1)
+	    return FAIL;
 	fprintf(debugfd, "\n");
     }
+    return OK;
 }
 
 /*
diff --git a/src/proto/channel.pro b/src/proto/channel.pro
index 110bb1d..2d46a49 100644
--- a/src/proto/channel.pro
+++ b/src/proto/channel.pro
@@ -8,7 +8,7 @@
 int channel_decode_json(char_u *msg, typval_T *tv);
 int channel_is_open(int idx);
 void channel_close(int idx);
-void channel_save(int idx, char_u *buf, int len);
+int channel_save(int idx, char_u *buf, int len);
 char_u *channel_peek(int idx);
 char_u *channel_get(int idx);
 int channel_collapse(int idx);
diff --git a/src/version.c b/src/version.c
index 98c499a..c246ed4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1194,
+/**/
     1193,
 /**/
     1192,
