test/bntest.c:527: error: BUFFER_OVERRUN_L2
  Offset: [0, 18446744073709551615] Size: 256 by call to `BN_mod_word`.
Showing all 14 steps of the trace


test/bntest.c:526:9: Call
524.   
525.           s = b->d[0];
526.           BN_copy(b, a);
               ^
527.           rmod = BN_mod_word(b, s);
528.           r = BN_div_word(b, s);

crypto/bn/bn_lib.c:362:1: Parameter `*a->d`
  360.   }
  361.   
  362. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
  363.   {
  364.       int i;

test/bntest.c:525:9: Assignment
523.           } while (BN_is_zero(b));
524.   
525.           s = b->d[0];
               ^
526.           BN_copy(b, a);
527.           rmod = BN_mod_word(b, s);

test/bntest.c:527:16: Call
525.           s = b->d[0];
526.           BN_copy(b, a);
527.           rmod = BN_mod_word(b, s);
                      ^
528.           r = BN_div_word(b, s);
529.   

crypto/bn/bn_word.c:13:1: Parameter `w`
  11.   #include "bn_lcl.h"
  12.   
  13. > BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w)
  14.   {
  15.   #ifndef BN_LLONG

crypto/bn/bn_word.c:35:15: Call
  33.               return (BN_ULONG)-1;
  34.   
  35.           ret = BN_div_word(tmp, w);
                      ^
  36.           BN_free(tmp);
  37.   

crypto/bn/bn_word.c:61:1: Parameter `w`
    59.   }
    60.   
    61. > BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w)
    62.   {
    63.       BN_ULONG ret = 0;

crypto/bn/bn_word.c:67:5: Assignment
    65.   
    66.       bn_check_top(a);
    67.       w &= BN_MASK2;
              ^
    68.   
    69.       if (!w)

crypto/bn/bn_word.c:76:20: Call
    74.   
    75.       /* normalize input (so bn_div_words doesn't complain) */
    76.       j = BN_BITS2 - BN_num_bits_word(w);
                             ^
    77.       w <<= j;
    78.       if (!BN_lshift(a, a, j))

crypto/bn/bn_lib.c:89:1: <Offset trace>
87.   }
88.   
89. > int BN_num_bits_word(BN_ULONG l)
90.   {
91.       static const unsigned char bits[256] = {

crypto/bn/bn_lib.c:89:1: Parameter `l`
      87.   }
      88.   
      89. > int BN_num_bits_word(BN_ULONG l)
      90.   {
      91.       static const unsigned char bits[256] = {

crypto/bn/bn_lib.c:91:5: <Length trace>
89.   int BN_num_bits_word(BN_ULONG l)
90.   {
91.       static const unsigned char bits[256] = {
          ^
92.           0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,
93.           5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,

crypto/bn/bn_lib.c:91:5: Array declaration
      89.   int BN_num_bits_word(BN_ULONG l)
      90.   {
      91.       static const unsigned char bits[256] = {
                ^
      92.           0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,
      93.           5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,

crypto/bn/bn_lib.c:114:25: Array access: Offset: [0, 18446744073709551615] Size: 256 by call to `BN_mod_word` 
      112.           if (l & 0xffff000000000000L) {
      113.               if (l & 0xff00000000000000L) {
      114.                   return (bits[(int)(l >> 56)] + 56);
                                     ^
      115.               } else
      116.                   return (bits[(int)(l >> 48)] + 48);
