summaryrefslogtreecommitdiff
path: root/src/userfunc.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-07-20 22:11:06 +0200
committerBram Moolenaar <Bram@vim.org>2016-07-20 22:11:06 +0200
commit19df5cc04de93519145901d9cbc78c44d0c47c5d (patch)
tree5290dd9e2e1c09cd992112f2812a91abffbf7b50 /src/userfunc.c
parent397eadbe25370394e0dc3cb18766533a15b8d1c0 (diff)
downloadvim-19df5cc04de93519145901d9cbc78c44d0c47c5d.zip
patch 7.4.2083
Problem: Coverity complains about not restoring a value. Solution: Restore the value, although it's not really needed. Change return to jump to cleanup, might leak memory.
Diffstat (limited to 'src/userfunc.c')
-rw-r--r--src/userfunc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/userfunc.c b/src/userfunc.c
index 9ffafc371..ffbbc2d21 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -199,14 +199,17 @@ get_function_args(
break;
}
if (newargs != NULL && ga_grow(newargs, 1) == FAIL)
- return FAIL;
+ goto err_ret;
if (newargs != NULL)
{
c = *p;
*p = NUL;
arg = vim_strsave(arg);
if (arg == NULL)
+ {
+ *p = c;
goto err_ret;
+ }
/* Check for duplicate argument name. */
for (i = 0; i < newargs->ga_len; ++i)