aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroni-link <knil.ino@gmail.com>2015-03-12 08:12:29 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2015-03-25 18:57:35 -0300
commit727f5241679c4c0da65810204a33e248739aefc2 (patch)
tree451f27ca573037b907ec8cfed8c39ff1f2c1f2bf
parentcdedd89d228a016a4e433968702e9e3ce5165e7d (diff)
downloadrneovim-727f5241679c4c0da65810204a33e248739aefc2.tar.gz
rneovim-727f5241679c4c0da65810204a33e248739aefc2.tar.bz2
rneovim-727f5241679c4c0da65810204a33e248739aefc2.zip
job: Fix memory errors
- Free memory allocated for job data when the job table is full.
-rw-r--r--src/nvim/eval.c5
1 files changed, 3 insertions, 2 deletions
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;
}