diff options
author | oni-link <knil.ino@gmail.com> | 2015-11-11 16:45:50 +0100 |
---|---|---|
committer | oni-link <knil.ino@gmail.com> | 2015-11-13 15:59:46 +0100 |
commit | 1c43452afcada9b7163e33d47c7b6bdaf82abded (patch) | |
tree | 4c33e545507c2e1f9b4dfe081c2b7a9c6ca6dfc3 /src | |
parent | 1d9ae27e380159c1a2f98448feab48e9be0e56dd (diff) | |
download | rneovim-1c43452afcada9b7163e33d47c7b6bdaf82abded.tar.gz rneovim-1c43452afcada9b7163e33d47c7b6bdaf82abded.tar.bz2 rneovim-1c43452afcada9b7163e33d47c7b6bdaf82abded.zip |
memory.c: Prevent garbage collection when running out of memory.
When running out of memory, garbage collection would free lists and
dictionaries that are not yet referenced. This would later on lead to
a use-after-free for these objects.
Releated to vim-patch:7.4.916, so also updating version.c.
Patch by @ZyX-I
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/memory.c | 2 | ||||
-rw-r--r-- | src/nvim/version.c | 66 |
2 files changed, 66 insertions, 2 deletions
diff --git a/src/nvim/memory.c b/src/nvim/memory.c index d25dc7c941..6d386f3599 100644 --- a/src/nvim/memory.c +++ b/src/nvim/memory.c @@ -42,8 +42,6 @@ void try_to_free_memory(void) clear_sb_text(); // Try to save all buffers and release as many blocks as possible mf_release_all(); - // cleanup recursive lists/dicts - garbage_collect(); trying_to_free = false; } diff --git a/src/nvim/version.c b/src/nvim/version.c index 45b36e7d99..f5e43878e4 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -74,6 +74,72 @@ static char *features[] = { // clang-format off static int included_patches[] = { + 916, + // 915, + // 914, + // 913, + // 912, + // 911, + // 910, + // 909, + // 908, + // 907, + // 906, + // 905, + // 904, + // 903, + // 902, + // 901, + // 900, + // 899, + // 898, + // 897, + // 896, + // 895, + // 894, + // 893, + // 892, + // 891, + // 890, + // 889, + // 888, + // 887, + // 886, + // 885, + // 884, + // 883, + // 882, + // 881, + // 880, + // 879, + // 878, + // 877, + // 876, + // 875, + // 874, + // 873, + // 872, + // 871, + // 870, + // 869, + // 868, + // 867, + // 866, + // 865, + // 864, + // 863, + // 862, + // 861, + // 860, + // 859, + // 858, + // 857, + // 856, + // 855, + // 854, + // 853, + // 852, + // 851, // 850, 849, // 848, |