test/constant_time_test.c:117: error: INTEGER_OVERFLOW_L1
  (0 - 1):unsigned32 by call to `constant_time_is_zero`.
Showing all 6 steps of the trace


test/constant_time_test.c:29:1: Array declaration
27.   static uint64_t CONSTTIME_FALSE_64 = 0;
28.   
29. > static unsigned int test_values[] = {
30.       0, 1, 1024, 12345, 32000, UINT_MAX / 2 - 1,
31.       UINT_MAX / 2, UINT_MAX / 2 + 1, UINT_MAX - 1,

test/constant_time_test.c:115:5: Assignment
113.   static int test_is_zero(int i)
114.   {
115.       unsigned int a = test_values[i];
           ^
116.   
117.       if (a == 0 && !TEST_uint_eq(constant_time_is_zero(a), CONSTTIME_TRUE))

test/constant_time_test.c:117:20: Call
115.       unsigned int a = test_values[i];
116.   
117.       if (a == 0 && !TEST_uint_eq(constant_time_is_zero(a), CONSTTIME_TRUE))
                          ^
118.           return 0;
119.       if (a != 0 && !TEST_uint_eq(constant_time_is_zero(a), CONSTTIME_FALSE))

include/internal/constant_time_locl.h:168:1: <LHS trace>
166.   }
167.   
168. > static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
169.   {
170.       return constant_time_msb(~a & (a - 1));

include/internal/constant_time_locl.h:168:1: Parameter `a`
  166.   }
  167.   
  168. > static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
  169.   {
  170.       return constant_time_msb(~a & (a - 1));

include/internal/constant_time_locl.h:170:12: Binary operation: (0 - 1):unsigned32 by call to `constant_time_is_zero` 
  168.   static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
  169.   {
  170.       return constant_time_msb(~a & (a - 1));
                    ^
  171.   }
  172.   
