From 65a6889552e6f2c1760c64306c1ddeb67c1d8681 Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Sat, 19 Aug 2017 18:40:47 +0200 Subject: [PATCH] Fix bug. --- m-deque.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/m-deque.h b/m-deque.h index b3bc0272..28ff8c46 100644 --- a/m-deque.h +++ b/m-deque.h @@ -319,6 +319,7 @@ deque_node_t *n = d->back->node; \ if (M_UNLIKELY (i == 0)) { \ n = deque_node_list_previous_obj(d->list, n); \ + assert (n != NULL); \ i = n->size; \ } \ return &n->data[i-1]; \ @@ -331,6 +332,11 @@ assert (d->count > 0); \ size_t i = d->front->index; \ deque_node_t *n = d->front->node; \ + if (M_UNLIKELY (n->size <= i)) { \ + n = deque_node_list_next_obj(d->list, n); \ + assert (n != NULL); \ + i = 0; \ + } \ return &n->data[i]; \ } \ \