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


crypto/bn/bn_exp.c:654:29: <RHS trace>
652.           idx &= xstride - 1;             /* equivalent of idx % xstride */
653.   
654.           y0 = (BN_ULONG)0 - (constant_time_eq_int(i,0)&1);
                                   ^
655.           y1 = (BN_ULONG)0 - (constant_time_eq_int(i,1)&1);
656.           y2 = (BN_ULONG)0 - (constant_time_eq_int(i,2)&1);

crypto/bn/bn_exp.c:654:29: Call
652.           idx &= xstride - 1;             /* equivalent of idx % xstride */
653.   
654.           y0 = (BN_ULONG)0 - (constant_time_eq_int(i,0)&1);
                                   ^
655.           y1 = (BN_ULONG)0 - (constant_time_eq_int(i,1)&1);
656.           y2 = (BN_ULONG)0 - (constant_time_eq_int(i,2)&1);

include/internal/constant_time_locl.h:189:12: Call
  187.   static ossl_inline unsigned int constant_time_eq_int(int a, int b)
  188.   {
  189.       return constant_time_eq((unsigned)(a), (unsigned)(b));
                    ^
  190.   }
  191.   

include/internal/constant_time_locl.h:178:12: Call
    176.                                                    unsigned int b)
    177.   {
    178.       return constant_time_is_zero(a ^ b);
                      ^
    179.   }
    180.   

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

include/internal/constant_time_locl.h:167:12: Call
      165.   static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
      166.   {
      167.       return constant_time_msb(~a & (a - 1));
                        ^
      168.   }
      169.   

include/internal/constant_time_locl.h:136:1: Parameter `a`
        134.                                                   int b);
        135.   
        136. > static ossl_inline unsigned int constant_time_msb(unsigned int a)
        137.   {
        138.       return 0 - (a >> (sizeof(a) * 8 - 1));

include/internal/constant_time_locl.h:138:5: Assignment
        136.   static ossl_inline unsigned int constant_time_msb(unsigned int a)
        137.   {
        138.       return 0 - (a >> (sizeof(a) * 8 - 1));
                   ^
        139.   }
        140.   

include/internal/constant_time_locl.h:167:5: Assignment
      165.   static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
      166.   {
      167.       return constant_time_msb(~a & (a - 1));
                 ^
      168.   }
      169.   

include/internal/constant_time_locl.h:178:5: Assignment
    176.                                                    unsigned int b)
    177.   {
    178.       return constant_time_is_zero(a ^ b);
               ^
    179.   }
    180.   

include/internal/constant_time_locl.h:189:5: Assignment
  187.   static ossl_inline unsigned int constant_time_eq_int(int a, int b)
  188.   {
  189.       return constant_time_eq((unsigned)(a), (unsigned)(b));
             ^
  190.   }
  191.   

crypto/bn/bn_exp.c:654:9: Binary operation: (0 - [0, 1]):unsigned64
652.           idx &= xstride - 1;             /* equivalent of idx % xstride */
653.   
654.           y0 = (BN_ULONG)0 - (constant_time_eq_int(i,0)&1);
               ^
655.           y1 = (BN_ULONG)0 - (constant_time_eq_int(i,1)&1);
656.           y2 = (BN_ULONG)0 - (constant_time_eq_int(i,2)&1);
