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