crypto/ec/curve448/eddsa.c:119: error: INTEGER_OVERFLOW_L2
  (0 - [0, 1]):unsigned32 by call to `curve448_scalar_halve`.
Showing all 6 steps of the trace


crypto/ec/curve448/eddsa.c:107:5: Call
105.       clamp(secret_scalar_ser);
106.   
107.       curve448_scalar_decode_long(secret_scalar, secret_scalar_ser,
           ^
108.                                   sizeof(secret_scalar_ser));
109.   

crypto/ec/curve448/scalar.c:174:1: Parameter `s->limb[*]`
  172.   }
  173.   
  174. > void curve448_scalar_decode_long(curve448_scalar_t s,
  175.                                    const unsigned char *ser, size_t ser_len)
  176.   {

crypto/ec/curve448/eddsa.c:119:9: Call
117.        */
118.       for (c = 1; c < C448_EDDSA_ENCODE_RATIO; c <<= 1)
119.           curve448_scalar_halve(secret_scalar, secret_scalar);
               ^
120.   
121.       curve448_precomputed_scalarmul(p, curve448_precomputed_base, secret_scalar);

crypto/ec/curve448/scalar.c:222:1: <RHS trace>
220.   }
221.   
222. > void curve448_scalar_halve(curve448_scalar_t out, const curve448_scalar_t a)
223.   {
224.       c448_word_t mask = 0 - (a->limb[0] & 1);

crypto/ec/curve448/scalar.c:222:1: Parameter `a->limb[*]`
  220.   }
  221.   
  222. > void curve448_scalar_halve(curve448_scalar_t out, const curve448_scalar_t a)
  223.   {
  224.       c448_word_t mask = 0 - (a->limb[0] & 1);

crypto/ec/curve448/scalar.c:224:5: Binary operation: (0 - [0, 1]):unsigned32 by call to `curve448_scalar_halve` 
  222.   void curve448_scalar_halve(curve448_scalar_t out, const curve448_scalar_t a)
  223.   {
  224.       c448_word_t mask = 0 - (a->limb[0] & 1);
             ^
  225.       c448_dword_t chain = 0;
  226.       unsigned int i;
