Mercurial > vim
diff src/eval.c @ 8424:be45d4921f1f v7.4.1503
commit https://github.com/vim/vim/commit/839fd11d7ed1a96bace3159c4d1861658864aae3
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Mar 6 21:34:03 2016 +0100
patch 7.4.1503
Problem: Crash when using ch_getjob(). (Damien)
Solution: Check for a NULL job.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 06 Mar 2016 21:45:04 +0100 |
parents | 3b9a306724ec |
children | 800423dbc260 |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -15249,6 +15249,7 @@ f_job_start(typval_T *argvars UNUSED, ty #endif #ifdef FEAT_CHANNEL + /* If the channel is reading from a buffer, write lines now. */ channel_write_in(job->jv_channel); #endif @@ -22601,7 +22602,11 @@ get_tv_string_buf_chk(typval_T *varp, ch #ifdef FEAT_JOB { job_T *job = varp->vval.v_job; - char *status = job->jv_status == JOB_FAILED ? "fail" + char *status; + + if (job == NULL) + return (char_u *)"no process"; + status = job->jv_status == JOB_FAILED ? "fail" : job->jv_status == JOB_ENDED ? "dead" : "run"; # ifdef UNIX