crypto/bn/bn_gf2m.c:708: error: BUFFER_OVERRUN_L3
  Offset: [1, +oo] Size: [0, 8388607] by call to `bn_correct_top`.
Showing all 9 steps of the trace


crypto/bn/bn_gf2m.c:639:14: Assignment
637.           bdp = b->d;
638.           bdp[0] = 1;
639.           for (i = 1; i < top; i++)
                    ^
640.               bdp[i] = 0;
641.           b->top = top;

crypto/bn/bn_gf2m.c:641:9: Assignment
639.           for (i = 1; i < top; i++)
640.               bdp[i] = 0;
641.           b->top = top;
               ^
642.           if (!bn_wexpand(c, top))
643.             goto err;

crypto/bn/bn_gf2m.c:708:9: Call
706.               }
707.           }
708.           bn_correct_top(b);
               ^
709.       }
710.   # endif

crypto/bn/bn_lib.c:1019:1: <Offset trace>
1017.   }
1018.   
1019. > void bn_correct_top(BIGNUM *a)
1020.   {
1021.       BN_ULONG *ftl;

crypto/bn/bn_lib.c:1019:1: Parameter `a->top`
  1017.   }
  1018.   
  1019. > void bn_correct_top(BIGNUM *a)
  1020.   {
  1021.       BN_ULONG *ftl;

crypto/bn/bn_lib.c:1022:5: Assignment
  1020.   {
  1021.       BN_ULONG *ftl;
  1022.       int tmp_top = a->top;
              ^
  1023.   
  1024.       if (tmp_top > 0) {

crypto/bn/bn_lib.c:1019:1: <Length trace>
1017.   }
1018.   
1019. > void bn_correct_top(BIGNUM *a)
1020.   {
1021.       BN_ULONG *ftl;

crypto/bn/bn_lib.c:1019:1: Parameter `*a->d`
  1017.   }
  1018.   
  1019. > void bn_correct_top(BIGNUM *a)
  1020.   {
  1021.       BN_ULONG *ftl;

crypto/bn/bn_lib.c:1025:14: Array access: Offset: [1, +oo] Size: [0, 8388607] by call to `bn_correct_top` 
  1023.   
  1024.       if (tmp_top > 0) {
  1025.           for (ftl = &(a->d[tmp_top]); tmp_top > 0; tmp_top--) {
                       ^
  1026.               ftl--;
  1027.               if (*ftl != 0)
