crypto/bn/bn_shift.c:236: error: INTEGER_OVERFLOW_L2
  (0 - [0, 63]):unsigned64.
Showing all 6 steps of the trace


crypto/bn/bn_shift.c:214:1: <RHS trace>
212.    * |n < BN_BITS2| or |n / BN_BITS2| being non-secret.
213.    */
214. > int bn_rshift_fixed_top(BIGNUM *r, const BIGNUM *a, int n)
215.   {
216.       int i, top, nw;

crypto/bn/bn_shift.c:214:1: Parameter `n`
212.    * |n < BN_BITS2| or |n / BN_BITS2| being non-secret.
213.    */
214. > int bn_rshift_fixed_top(BIGNUM *r, const BIGNUM *a, int n)
215.   {
216.       int i, top, nw;

crypto/bn/bn_shift.c:233:5: Assignment
231.       }
232.   
233.       rb = (unsigned int)n % BN_BITS2;
           ^
234.       lb = BN_BITS2 - rb;
235.       lb %= BN_BITS2;            /* say no to undefined behaviour */

crypto/bn/bn_shift.c:234:5: Assignment
232.   
233.       rb = (unsigned int)n % BN_BITS2;
234.       lb = BN_BITS2 - rb;
           ^
235.       lb %= BN_BITS2;            /* say no to undefined behaviour */
236.       mask = (BN_ULONG)0 - lb;   /* mask = 0 - (lb != 0) */

crypto/bn/bn_shift.c:235:5: Assignment
233.       rb = (unsigned int)n % BN_BITS2;
234.       lb = BN_BITS2 - rb;
235.       lb %= BN_BITS2;            /* say no to undefined behaviour */
           ^
236.       mask = (BN_ULONG)0 - lb;   /* mask = 0 - (lb != 0) */
237.       mask |= mask >> 8;

crypto/bn/bn_shift.c:236:5: Binary operation: (0 - [0, 63]):unsigned64
234.       lb = BN_BITS2 - rb;
235.       lb %= BN_BITS2;            /* say no to undefined behaviour */
236.       mask = (BN_ULONG)0 - lb;   /* mask = 0 - (lb != 0) */
           ^
237.       mask |= mask >> 8;
238.       top = a->top - nw;
