Mercurial > vim
comparison src/eval.c @ 8070:e4c3f6720b03 v7.4.1329
commit https://github.com/vim/vim/commit/5cefd4098204b4677387511b586673649f2fab48
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Feb 16 12:44:26 2016 +0100
patch 7.4.1329
Problem: Crash when using channel that failed to open.
Solution: Check for NULL. Update messages. (Yukihiro Nakadaira)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 16 Feb 2016 12:45:05 +0100 |
parents | 7fe3b9dc132b |
children | 7676818d486b |
comparison
equal
deleted
inserted
replaced
8069:0df672ac12da | 8070:e4c3f6720b03 |
---|---|
21826 #ifdef FEAT_CHANNEL | 21826 #ifdef FEAT_CHANNEL |
21827 { | 21827 { |
21828 channel_T *channel = varp->vval.v_channel; | 21828 channel_T *channel = varp->vval.v_channel; |
21829 char *status = channel_status(channel); | 21829 char *status = channel_status(channel); |
21830 | 21830 |
21831 vim_snprintf((char *)buf, NUMBUFLEN, | 21831 if (channel == NULL) |
21832 vim_snprintf((char *)buf, NUMBUFLEN, "channel %s", status); | |
21833 else | |
21834 vim_snprintf((char *)buf, NUMBUFLEN, | |
21832 "channel %d %s", channel->ch_id, status); | 21835 "channel %d %s", channel->ch_id, status); |
21833 return buf; | 21836 return buf; |
21834 } | 21837 } |
21835 #endif | 21838 #endif |
21836 break; | 21839 break; |
22465 break; | 22468 break; |
22466 #endif | 22469 #endif |
22467 case VAR_CHANNEL: | 22470 case VAR_CHANNEL: |
22468 #ifdef FEAT_CHANNEL | 22471 #ifdef FEAT_CHANNEL |
22469 to->vval.v_channel = from->vval.v_channel; | 22472 to->vval.v_channel = from->vval.v_channel; |
22470 ++to->vval.v_channel->ch_refcount; | 22473 if (to->vval.v_channel != NULL) |
22474 ++to->vval.v_channel->ch_refcount; | |
22471 break; | 22475 break; |
22472 #endif | 22476 #endif |
22473 case VAR_STRING: | 22477 case VAR_STRING: |
22474 case VAR_FUNC: | 22478 case VAR_FUNC: |
22475 if (from->vval.v_string == NULL) | 22479 if (from->vval.v_string == NULL) |