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)