test/testutil/tests.c:412: error: BUFFER_OVERRUN_L3
  Offset: 0 Size: [0, 8388607] by call to `BN_set_word`.
Showing all 9 steps of the trace


test/testutil/tests.c:410:10: Call
408.           return 1;
409.       bw = BN_new();
410.       aa = BN_dup(a);
                ^
411.       BN_set_negative(aa, 0);
412.       BN_set_word(bw, w);

crypto/bn/bn_lib.c:304:10: Call
  302.       if (t == NULL)
  303.           return NULL;
  304.       if (!BN_copy(t, a)) {
                  ^
  305.           BN_free(t);
  306.           return NULL;

crypto/bn/bn_lib.c:312:1: Parameter `*a->d`
    310.   }
    311.   
    312. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
    313.   {
    314.       bn_check_top(b);

test/testutil/tests.c:412:5: Call
410.       aa = BN_dup(a);
411.       BN_set_negative(aa, 0);
412.       BN_set_word(bw, w);
           ^
413.       test_fail_bignum_message(NULL, file, line, "BIGNUM", bns, ws, "abs==",
414.                                aa, bw);

crypto/bn/bn_lib.c:387:1: <Length trace>
385.   }
386.   
387. > int BN_set_word(BIGNUM *a, BN_ULONG w)
388.   {
389.       bn_check_top(a);

crypto/bn/bn_lib.c:387:1: Parameter `*a->d`
  385.   }
  386.   
  387. > int BN_set_word(BIGNUM *a, BN_ULONG w)
  388.   {
  389.       bn_check_top(a);

crypto/bn/bn_lib.c:390:9: Call
  388.   {
  389.       bn_check_top(a);
  390.       if (bn_expand(a, (int)sizeof(BN_ULONG) * 8) == NULL)
                 ^
  391.           return 0;
  392.       a->neg = 0;

crypto/bn/bn_lcl.h:651:1: Parameter `*a->d`
    649.                            const BIGNUM *add, const BIGNUM *rem, BN_CTX *ctx);
    650.   
    651. > static ossl_inline BIGNUM *bn_expand(BIGNUM *a, int bits)
    652.   {
    653.       if (bits > (INT_MAX - BN_BITS2 + 1))

crypto/bn/bn_lib.c:393:5: Array access: Offset: 0 Size: [0, 8388607] by call to `BN_set_word` 
  391.           return 0;
  392.       a->neg = 0;
  393.       a->d[0] = w;
             ^
  394.       a->top = (w ? 1 : 0);
  395.       bn_check_top(a);
