From 42964a8ba26bf1c829ea88e2bf587e51a62d4b82 Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Sat, 19 Aug 2017 16:41:55 +0200 Subject: [PATCH] Fix potential overflow on the computed size. --- m-deque.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/m-deque.h b/m-deque.h index 9eca6c52..407a0faf 100644 --- a/m-deque.h +++ b/m-deque.h @@ -100,6 +100,10 @@ M_C(name, _int_new_node)(deque_t d) \ { \ const size_t def = d->default_size; \ + if (M_UNLIKELY (def >SIZE_MAX / sizeof (type) - sizeof(deque_node_t))) { \ + M_MEMORY_FULL(sizeof(deque_node_t)+def * sizeof(type)); \ + return NULL; \ + } \ deque_node_t*n = (deque_node_t*) (void*) \ M_GET_REALLOC oplist (char, NULL, \ sizeof(deque_node_t)+def * sizeof(type) ); \