From 727f5241679c4c0da65810204a33e248739aefc2 Mon Sep 17 00:00:00 2001 From: oni-link Date: Thu, 12 Mar 2015 08:12:29 -0300 Subject: job: Fix memory errors - Free memory allocated for job data when the job table is full. --- src/nvim/eval.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 6d8f47ee9c..ae00888233 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -19831,17 +19831,18 @@ static inline JobOptions common_job_options(char **argv, char *autocmd_file) static inline Job *common_job_start(JobOptions opts, typval_T *rettv) { - Job *job = job_start(opts, &rettv->vval.v_number); TerminalJobData *data = opts.data; data->refcount++; + Job *job = job_start(opts, &rettv->vval.v_number); if (rettv->vval.v_number <= 0) { if (rettv->vval.v_number == 0) { EMSG(_(e_jobtblfull)); + free(opts.term_name); free(data->autocmd_file); + free(data); } else { EMSG(_(e_jobexe)); - free(opts.data); } return NULL; } -- cgit