diff src/channel.c @ 10553:f83b6a0b6148 v8.0.0166

patch 8.0.0166: JSON with a duplicate key gives an internal error commit https://github.com/vim/vim/commit/03c60c1573cdbebbb662863cfc1780d19d511db5 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jan 10 15:15:37 2017 +0100 patch 8.0.0166: JSON with a duplicate key gives an internal error Problem: JSON with a duplicate key gives an internal error. (Lcd) Solution: Give a normal error. Avoid an error when parsing JSON from a remote client fails.
author Christian Brabandt <cb@256bit.org>
date Tue, 10 Jan 2017 15:30:05 +0100
parents ea7fbae33285
children 98ee4f22da6e
line wrap: on
line diff
--- a/src/channel.c
+++ b/src/channel.c
@@ -1896,9 +1896,12 @@ channel_parse_json(channel_T *channel, c
 
     /* When a message is incomplete we wait for a short while for more to
      * arrive.  After the delay drop the input, otherwise a truncated string
-     * or list will make us hang.  */
+     * or list will make us hang.
+     * Do not generate error messages, they will be written in a channel log. */
+    ++emsg_silent;
     status = json_decode(&reader, &listtv,
 				  chanpart->ch_mode == MODE_JS ? JSON_JS : 0);
+    --emsg_silent;
     if (status == OK)
     {
 	/* Only accept the response when it is a list with at least two