apps/x509.c:966: error: BUFFER_OVERRUN_L3
  Offset: 0 Size: [0, 8388607] by call to `BN_add_word`.
Showing all 9 steps of the trace


apps/x509.c:962:14: Call
960.           OPENSSL_strlcpy(buf, serialfile, len);
961.   
962.       serial = load_serial(buf, create, NULL);
                    ^
963.       if (serial == NULL)
964.           goto end;

apps/apps.c:1402:29: Call
  1400.           ERR_clear_error();
  1401.           ret = BN_new();
  1402.           if (ret == NULL || !rand_serial(ret, ai))
                                      ^
  1403.               BIO_printf(bio_err, "Out of memory\n");
  1404.       } else {

apps/apps.c:1534:1: Parameter `b->d`
    1532.   }
    1533.   
    1534. > int rand_serial(BIGNUM *b, ASN1_INTEGER *ai)
    1535.   {
    1536.       BIGNUM *btmp;

apps/x509.c:966:10: Call
964.           goto end;
965.   
966.       if (!BN_add_word(serial, 1)) {
                ^
967.           BIO_printf(bio_err, "add_word failure\n");
968.           goto end;

crypto/bn/bn_word.c:123:1: Parameter `*a->d`
  121.   }
  122.   
  123. > int BN_add_word(BIGNUM *a, BN_ULONG w)
  124.   {
  125.       BN_ULONG l;

crypto/bn/bn_word.c:140:13: Call
  138.       if (a->neg) {
  139.           a->neg = 0;
  140.           i = BN_sub_word(a, w);
                     ^
  141.           if (!BN_is_zero(a))
  142.               a->neg = !(a->neg);

crypto/bn/bn_word.c:159:1: <Length trace>
157.   }
158.   
159. > int BN_sub_word(BIGNUM *a, BN_ULONG w)
160.   {
161.       int i;

crypto/bn/bn_word.c:159:1: Parameter `*a->d`
    157.   }
    158.   
    159. > int BN_sub_word(BIGNUM *a, BN_ULONG w)
    160.   {
    161.       int i;

crypto/bn/bn_word.c:184:27: Array access: Offset: 0 Size: [0, 8388607] by call to `BN_add_word` 
    182.       }
    183.   
    184.       if ((a->top == 1) && (a->d[0] < w)) {
                                     ^
    185.           a->d[0] = w - a->d[0];
    186.           a->neg = 1;
