aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorMichael Ennen <mike.ennen@gmail.com>2015-12-30 23:42:38 -0700
committerJustin M. Keyes <justinkz@gmail.com>2016-01-13 03:23:19 -0500
commit5c87d40acdd02286baf492067031c93d93b7d389 (patch)
tree736cdbff1acdc990d23b4d3bd7787c02fa02bfb3 /src/nvim/eval.c
parent8bfb521417ef4910ff977ae9e97b2b37c9a4605f (diff)
downloadrneovim-5c87d40acdd02286baf492067031c93d93b7d389.tar.gz
rneovim-5c87d40acdd02286baf492067031c93d93b7d389.tar.bz2
rneovim-5c87d40acdd02286baf492067031c93d93b7d389.zip
vim patches 7.4.955/974/975/989. #3919
Helped by @Shougo. vim-patch:7.4.955 vim-patch:7.4.974 vim-patch:7.4.975 vim-patch:7.4.989 Port upstream vim patches 955, 974, 975 and 989. Mark patches 964, 968, 970, and 971, and 982 as NA. Update patch list to 1022. patch 7.4.955 Problem: Vim doesn't recognize .pl6 and .pod6 files. Solution: Recognize them as perl6 and pod6. (Mike Eve) patch 7.4.974 Problem: When using :diffsplit the cursor jumps to the first line. Solution: Put the cursor on the line related to where the cursor was before the split. patch 7.4.975 Problem: Using ":sort" on a very big file sometimes causes text to be corrupted. (John Beckett) Solution: Copy the line into a buffer before calling ml_append(). patch 7.4.989 Problem: Leaking memory when hash_add() fails. Coverity error 99126. Solution: When hash_add() fails free the memory. 778 marked as not NA as it will be needed once vim patch 754 is merged Marked as NA: 964 test 87 was deleted 968 tests 86/87 were deleted 970 guarded by: `# if defined(FEAT_GUI_GTK) || defined(PROTO` and is inside a function that no longer exists 971 function table already sorted correctly 982 marked as NA because Neovim tests are only specified in exactly one location
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index a1321d0227..7ac51d7bd7 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -19793,7 +19793,10 @@ void ex_function(exarg_T *eap)
/* insert the new function in the function list */
STRCPY(fp->uf_name, name);
- hash_add(&func_hashtab, UF2HIKEY(fp));
+ if (hash_add(&func_hashtab, UF2HIKEY(fp)) == FAIL) {
+ xfree(fp);
+ goto erret;
+ }
}
fp->uf_refcount = 1;
fp->uf_args = newargs;