From 17db7f1e14d4f1f2a70832ab10232ef0cdfb5a6b Mon Sep 17 00:00:00 2001 From: Thiago de Arruda Date: Fri, 3 Apr 2015 10:13:22 -0300 Subject: [PATCH] eval: Fix segfault caused by passing invalid callback to jobstart --- src/nvim/eval.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 90ab471818..6c8dd3da32 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -5963,11 +5963,12 @@ static bool get_dict_callback(dict_T *d, char *key, ufunc_T **result) uint8_t *name = di->di_tv.vval.v_string; uint8_t *n = name; - ufunc_T *rv; + ufunc_T *rv = NULL; if (*n > '9' || *n < '0') { - n = trans_function_name(&n, false, TFN_INT|TFN_QUIET, NULL); - rv = find_func(n); - free(n); + if ((n = trans_function_name(&n, false, TFN_INT|TFN_QUIET, NULL))) { + rv = find_func(n); + free(n); + } } else { // dict function, name is already translated rv = find_func(n);