crypto/ec/curve25519.c:3703: error: BUFFER_OVERRUN_L2
  Offset: [1, 260] Size: 256 by call to `slide`.
Showing all 7 steps of the trace


crypto/ec/curve25519.c:3693:1: Array declaration
3691.    * and b = b[0]+256*b[1]+...+256^31 b[31].
3692.    * B is the Ed25519 base point (x,4/5) with x positive. */
3693. > static void ge_double_scalarmult_vartime(ge_p2 *r, const uint8_t *a,
3694.                                            const ge_p3 *A, const uint8_t *b) {
3695.     signed char aslide[256];

crypto/ec/curve25519.c:3703:3: Call
3701.     int i;
3702.   
3703.     slide(aslide, a);
          ^
3704.     slide(bslide, b);
3705.   

crypto/ec/curve25519.c:3597:8: <Offset trace>
3595.     }
3596.   
3597.     for (i = 0; i < 256; ++i) {
               ^
3598.       if (r[i]) {
3599.         for (b = 1; b <= 6 && i + b < 256; ++b) {

crypto/ec/curve25519.c:3597:8: Assignment
  3595.     }
  3596.   
  3597.     for (i = 0; i < 256; ++i) {
                 ^
  3598.       if (r[i]) {
  3599.         for (b = 1; b <= 6 && i + b < 256; ++b) {

crypto/ec/curve25519.c:3588:1: <Length trace>
3586.   }
3587.   
3588. > static void slide(signed char *r, const uint8_t *a) {
3589.     int i;
3590.     int b;

crypto/ec/curve25519.c:3588:1: Parameter `*r`
  3586.   }
  3587.   
  3588. > static void slide(signed char *r, const uint8_t *a) {
  3589.     int i;
  3590.     int b;

crypto/ec/curve25519.c:3600:13: Array access: Offset: [1, 260] Size: 256 by call to `slide` 
  3598.       if (r[i]) {
  3599.         for (b = 1; b <= 6 && i + b < 256; ++b) {
  3600.           if (r[i + b]) {
                      ^
  3601.             if (r[i] + (r[i + b] << b) <= 15) {
  3602.               r[i] += r[i + b] << b;
