Mercurial > vim
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