--- old/src/java.base/share/native/libjava/sizecalc.h 2017-10-16 13:03:46.813454621 -0700 +++ new/src/java.base/share/native/libjava/sizecalc.h 2017-10-16 13:03:46.641455131 -0700 @@ -44,7 +44,7 @@ #define SIZE_MAX ((size_t)-1) #endif -#define IS_SAFE_SIZE_T(x) ((x) >= 0 && (unsigned long long)(x) <= SIZE_MAX) +#define IS_SAFE_SIZE_T(x) (((x) + 1) > 0 && (unsigned long long)(x) - 1u < SIZE_MAX) #define IS_SAFE_SIZE_MUL(m, n) \ (IS_SAFE_SIZE_T(m) && IS_SAFE_SIZE_T(n) && ((m) == 0 || (n) == 0 || (size_t)(n) <= (SIZE_MAX / (size_t)(m))))