crypto/bn/bn_exp.c:555: error: INTEGER_OVERFLOW_L2
  (0 - [0, 1]):unsigned64.
Showing all 12 steps of the trace


crypto/bn/bn_exp.c:555:29: <RHS trace>
553.           idx &= xstride - 1;             /* equivalent of idx % xstride */
554.   
555.           y0 = (BN_ULONG)0 - (constant_time_eq_int(i,0)&1);
                                   ^
556.           y1 = (BN_ULONG)0 - (constant_time_eq_int(i,1)&1);
557.           y2 = (BN_ULONG)0 - (constant_time_eq_int(i,2)&1);

crypto/bn/bn_exp.c:555:29: Call
553.           idx &= xstride - 1;             /* equivalent of idx % xstride */
554.   
555.           y0 = (BN_ULONG)0 - (constant_time_eq_int(i,0)&1);
                                   ^
556.           y1 = (BN_ULONG)0 - (constant_time_eq_int(i,1)&1);
557.           y2 = (BN_ULONG)0 - (constant_time_eq_int(i,2)&1);

include/internal/constant_time_locl.h:196:12: Call
  194.   static ossl_inline unsigned int constant_time_eq_int(int a, int b)
  195.   {
  196.       return constant_time_eq((unsigned)(a), (unsigned)(b));
                    ^
  197.   }
  198.   

include/internal/constant_time_locl.h:175:12: Call
    173.                                                    unsigned int b)
    174.   {
    175.       return constant_time_is_zero(a ^ b);
                      ^
    176.   }
    177.   

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: Call
      157.   static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
      158.   {
      159.       return constant_time_msb(~a & (a - 1));
                        ^
      160.   }
      161.   

include/internal/constant_time_locl.h:98:1: Parameter `a`
        96.   
        97.   
        98. > static ossl_inline unsigned int constant_time_msb(unsigned int a)
        99.   {
        100.       return 0 - (a >> (sizeof(a) * 8 - 1));

include/internal/constant_time_locl.h:100:5: Assignment
        98.   static ossl_inline unsigned int constant_time_msb(unsigned int a)
        99.   {
        100.       return 0 - (a >> (sizeof(a) * 8 - 1));
                   ^
        101.   }
        102.   

include/internal/constant_time_locl.h:159:5: Assignment
      157.   static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
      158.   {
      159.       return constant_time_msb(~a & (a - 1));
                 ^
      160.   }
      161.   

include/internal/constant_time_locl.h:175:5: Assignment
    173.                                                    unsigned int b)
    174.   {
    175.       return constant_time_is_zero(a ^ b);
               ^
    176.   }
    177.   

include/internal/constant_time_locl.h:196:5: Assignment
  194.   static ossl_inline unsigned int constant_time_eq_int(int a, int b)
  195.   {
  196.       return constant_time_eq((unsigned)(a), (unsigned)(b));
             ^
  197.   }
  198.   

crypto/bn/bn_exp.c:555:9: Binary operation: (0 - [0, 1]):unsigned64
553.           idx &= xstride - 1;             /* equivalent of idx % xstride */
554.   
555.           y0 = (BN_ULONG)0 - (constant_time_eq_int(i,0)&1);
               ^
556.           y1 = (BN_ULONG)0 - (constant_time_eq_int(i,1)&1);
557.           y2 = (BN_ULONG)0 - (constant_time_eq_int(i,2)&1);
