From 72d83a0280b95f99b94c64380bc46558fc941462 Mon Sep 17 00:00:00 2001 From: Ebrahim Byagowi Date: Thu, 5 Dec 2019 13:09:48 +0330 Subject: [PATCH] Make hb_array_t::in_range similar to hb_sanitize_context_t::check_range --- src/hb-array.hh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/hb-array.hh b/src/hb-array.hh index d9adf2c72..7d3629df2 100644 --- a/src/hb-array.hh +++ b/src/hb-array.hh @@ -201,8 +201,9 @@ struct hb_array_t : hb_iter_with_fallback_t, Type&> hb_enable_if (P == 1)> bool in_range (const T *p, unsigned int size = T::static_size) const { - return ((const char *) p) >= arrayZ - && ((const char *) p + size) <= arrayZ + length; + return arrayZ <= ((const char *) p) + && ((const char *) p) <= arrayZ + length + && (unsigned int) (arrayZ + length - (const char *) p) >= size; } /* Only call if you allocated the underlying array using malloc() or similar. */