patch 8.2.3379: crash when using NULL job
Problem: Crash when using NULL job.
Solution: Copy static string into buffer. (issue #8260)
diff --git a/src/job.c b/src/job.c
index 884bf64..afa9972 100644
--- a/src/job.c
+++ b/src/job.c
@@ -1983,7 +1983,10 @@
char *status;
if (job == NULL)
- return (char_u *)"no process";
+ {
+ vim_snprintf((char *)buf, NUMBUFLEN, "no process");
+ return buf;
+ }
status = job->jv_status == JOB_FAILED ? "fail"
: job->jv_status >= JOB_ENDED ? "dead"
: "run";
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index 783a41d..fa510c7 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -1718,6 +1718,10 @@
endtry
endfunc
+func Test_null_job_eval()
+ call assert_fails('eval test_null_job()->eval()', 'E121:')
+endfunc
+
" This was leaking memory.
func Test_partial_in_channel_cycle()
let d = {}
diff --git a/src/version.c b/src/version.c
index a3f0a8d..c2e07c6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3379,
+/**/
3378,
/**/
3377,