From: Bram Moolenaar Date: Sat, 24 Jul 2010 14:57:39 +0000 (+0200) Subject: Fix: errors for allocating zero bytes when profiling an empty function. X-Git-Tag: v7.3~182 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=904c622b105bf785df59f870831309d5c0c7722e;p=vim Fix: errors for allocating zero bytes when profiling an empty function. --- diff --git a/src/eval.c b/src/eval.c index a81937346..33be998e0 100644 --- a/src/eval.c +++ b/src/eval.c @@ -21176,18 +21176,21 @@ builtin_function(name) func_do_profile(fp) ufunc_T *fp; { + int len = fp->uf_lines.ga_len; + + if (len == 0) + len = 1; /* avoid getting error for allocating zero bytes */ fp->uf_tm_count = 0; profile_zero(&fp->uf_tm_self); profile_zero(&fp->uf_tm_total); if (fp->uf_tml_count == NULL) - fp->uf_tml_count = (int *)alloc_clear((unsigned) - (sizeof(int) * fp->uf_lines.ga_len)); + fp->uf_tml_count = (int *)alloc_clear((unsigned) (sizeof(int) * len)); if (fp->uf_tml_total == NULL) fp->uf_tml_total = (proftime_T *)alloc_clear((unsigned) - (sizeof(proftime_T) * fp->uf_lines.ga_len)); + (sizeof(proftime_T) * len)); if (fp->uf_tml_self == NULL) fp->uf_tml_self = (proftime_T *)alloc_clear((unsigned) - (sizeof(proftime_T) * fp->uf_lines.ga_len)); + (sizeof(proftime_T) * len)); fp->uf_tml_idx = -1; if (fp->uf_tml_count == NULL || fp->uf_tml_total == NULL || fp->uf_tml_self == NULL)