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


test/constant_time_test.c:80:1: Parameter `a`
78.   
79.   
80. > static int test_is_zero(unsigned int a)
81.   {
82.       if (a == 0 && !TEST_uint_eq(constant_time_is_zero(a), CONSTTIME_TRUE))

test/constant_time_test.c:82:20: Call
80.   static int test_is_zero(unsigned int a)
81.   {
82.       if (a == 0 && !TEST_uint_eq(constant_time_is_zero(a), CONSTTIME_TRUE))
                         ^
83.           return 0;
84.       if (a != 0 && !TEST_uint_eq(constant_time_is_zero(a), CONSTTIME_FALSE))

include/internal/constant_time_locl.h:157:1: <LHS trace>
155.   }
156.   
157. > static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
158.   {
159.       return constant_time_msb(~a & (a - 1));

include/internal/constant_time_locl.h:157:1: Parameter `a`
  155.   }
  156.   
  157. > static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
  158.   {
  159.       return constant_time_msb(~a & (a - 1));

include/internal/constant_time_locl.h:159:12: Binary operation: (0 - 1):unsigned32 by call to `constant_time_is_zero` 
  157.   static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
  158.   {
  159.       return constant_time_msb(~a & (a - 1));
                    ^
  160.   }
  161.   

static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
{
    return constant_time_msb(~a & (a - 1));
}
['static int test_is_zero(unsigned int a)\n{\n    if (a == 0 && !TEST_uint_eq(constant_time_is_zero(a), CONSTTIME_TRUE))\n        return 0;\n    if (a != 0 && !TEST_uint_eq(constant_time_is_zero(a), CONSTTIME_FALSE))\n        return 0;\n    return 1;\n}', 'static ossl_inline unsigned int constant_time_is_zero(unsigned int a)\n{\n    return constant_time_msb(~a & (a - 1));\n}']