diff --git a/src/hb-private.hh b/src/hb-private.hh index ce09d1825..ca370840c 100644 --- a/src/hb-private.hh +++ b/src/hb-private.hh @@ -297,7 +297,7 @@ struct hb_static_array_t { array = new_array; } } else { - bool overflows = new_allocated >= ((unsigned int) -1) / sizeof (Type); + bool overflows = (new_allocated < allocated) || (new_allocated >= ((unsigned int) -1) / sizeof (Type)); if (unlikely (overflows)) new_array = NULL; else