aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2015-08-04 08:19:01 +0300
committerZyX <kp-pav@yandex.ru>2015-10-08 22:00:22 +0300
commit2244db67aa0dc1100dc5814c2bf070d76cf5f313 (patch)
tree3f7ca47d76aeac1d2c5e5b05eecebc0f90d98aeb /src
parent5b3e668f3e03e6b0142be5afdc72cb6dadd58498 (diff)
downloadrneovim-2244db67aa0dc1100dc5814c2bf070d76cf5f313.tar.gz
rneovim-2244db67aa0dc1100dc5814c2bf070d76cf5f313.tar.bz2
rneovim-2244db67aa0dc1100dc5814c2bf070d76cf5f313.zip
shada: Do not allow empty keys
Diffstat (limited to 'src')
-rw-r--r--src/nvim/shada.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/nvim/shada.c b/src/nvim/shada.c
index c91005ab9c..3e9f9298ab 100644
--- a/src/nvim/shada.c
+++ b/src/nvim/shada.c
@@ -3345,6 +3345,13 @@ shada_read_next_item_extra_bytes:
(uint64_t) initial_fpos); \
ga_clear(&ad_ga); \
goto shada_read_next_item_error; \
+ } else if (unpacked.data.via.map.ptr[i].key.via.str.size == 0) { \
+ emsgu(_(RERR "Error while reading ShaDa file: " \
+ entry_name " entry at position %" PRIu64 " " \
+ "has empty key"), \
+ (uint64_t) initial_fpos); \
+ ga_clear(&ad_ga); \
+ goto shada_read_next_item_error; \
} \
} while (0)
#define CHECKED_KEY(entry_name, name, error_desc, tgt, condition, attr, proc) \