diff options
| author | ZyX <kp-pav@yandex.ru> | 2015-08-13 23:34:42 +0300 | 
|---|---|---|
| committer | ZyX <kp-pav@yandex.ru> | 2015-10-08 22:00:41 +0300 | 
| commit | e4c0741206b7d3e307d5ecf8bdb5d0266d952513 (patch) | |
| tree | 107c988cef4dbe151205fdce8b516a2d7701043b /src/nvim/ops.c | |
| parent | 689390210a03aef00b627327dc8ce8723f2ecb4d (diff) | |
| download | rneovim-e4c0741206b7d3e307d5ecf8bdb5d0266d952513.tar.gz rneovim-e4c0741206b7d3e307d5ecf8bdb5d0266d952513.tar.bz2 rneovim-e4c0741206b7d3e307d5ecf8bdb5d0266d952513.zip | |
ops: Fix access to unsaved register when iterating over registers
Diffstat (limited to 'src/nvim/ops.c')
| -rw-r--r-- | src/nvim/ops.c | 6 | 
1 files changed, 3 insertions, 3 deletions
| diff --git a/src/nvim/ops.c b/src/nvim/ops.c index 5ba1d8b2f5..b3e889c0ec 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -5336,11 +5336,11 @@ const void *op_register_iter(const void *const iter, char *const name,    const yankreg_T *iter_reg = (iter == NULL                                 ? &(y_regs[0])                                 : (const yankreg_T *const) iter); -  while (reg_empty(iter_reg) && iter_reg - &(y_regs[0]) < NUM_SAVED_REGISTERS) { +  while (iter_reg - &(y_regs[0]) < NUM_SAVED_REGISTERS && reg_empty(iter_reg)) {      iter_reg++;    } -  if (reg_empty(iter_reg)) { -    *reg = (yankreg_T) {.y_array = NULL}; +  if (iter_reg - &(y_regs[0]) == NUM_SAVED_REGISTERS || reg_empty(iter_reg)) { +    *reg = (yankreg_T) { .y_array = NULL };      return NULL;    }    size_t iter_off = iter_reg - &(y_regs[0]); | 
