test/sparse_array_test.c:89: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `ossl_sa_char_set`.
Showing all 14 steps of the trace


test/sparse_array_test.c:89:14: Call
87.           goto err;
88.       for (i = 0; i < OSSL_NELEM(cases); i++)
89.           if (!TEST_true(ossl_sa_char_set(sa, cases[i].n, cases[i].v))
                   ^
90.                   || !TEST_size_t_eq(ossl_sa_char_num(sa), cases[i].num))
91.               goto err;

test/sparse_array_test.c:28:1: Parameter `sa->nelem`
  26.   #endif
  27.   
  28. > DEFINE_SPARSE_ARRAY_OF(char);
  29.   
  30.   static int test_sparse_array(void)

test/sparse_array_test.c:28:1: Call
  26.   #endif
  27.   
  28. > DEFINE_SPARSE_ARRAY_OF(char);
  29.   
  30.   static int test_sparse_array(void)

crypto/sparse_array.c:183:1: Parameter `sa->nelem`
    181.   }
    182.   
    183. > int OPENSSL_SA_set(OPENSSL_SA *sa, ossl_uintmax_t posn, void *val)
    184.   {
    185.       int i, level = 1;

test/sparse_array_test.c:89:14: Call
87.           goto err;
88.       for (i = 0; i < OSSL_NELEM(cases); i++)
89.           if (!TEST_true(ossl_sa_char_set(sa, cases[i].n, cases[i].v))
                   ^
90.                   || !TEST_size_t_eq(ossl_sa_char_num(sa), cases[i].num))
91.               goto err;

test/sparse_array_test.c:28:1: Parameter `sa->nelem`
  26.   #endif
  27.   
  28. > DEFINE_SPARSE_ARRAY_OF(char);
  29.   
  30.   static int test_sparse_array(void)

test/sparse_array_test.c:28:1: Call
  26.   #endif
  27.   
  28. > DEFINE_SPARSE_ARRAY_OF(char);
  29.   
  30.   static int test_sparse_array(void)

crypto/sparse_array.c:183:1: Parameter `sa->nelem`
    181.   }
    182.   
    183. > int OPENSSL_SA_set(OPENSSL_SA *sa, ossl_uintmax_t posn, void *val)
    184.   {
    185.       int i, level = 1;

test/sparse_array_test.c:89:14: Call
87.           goto err;
88.       for (i = 0; i < OSSL_NELEM(cases); i++)
89.           if (!TEST_true(ossl_sa_char_set(sa, cases[i].n, cases[i].v))
                   ^
90.                   || !TEST_size_t_eq(ossl_sa_char_num(sa), cases[i].num))
91.               goto err;

test/sparse_array_test.c:28:1: Parameter `sa->nelem`
  26.   #endif
  27.   
  28. > DEFINE_SPARSE_ARRAY_OF(char);
  29.   
  30.   static int test_sparse_array(void)

test/sparse_array_test.c:28:1: Call
  26.   #endif
  27.   
  28. > DEFINE_SPARSE_ARRAY_OF(char);
  29.   
  30.   static int test_sparse_array(void)

crypto/sparse_array.c:183:1: <LHS trace>
181.   }
182.   
183. > int OPENSSL_SA_set(OPENSSL_SA *sa, ossl_uintmax_t posn, void *val)
184.   {
185.       int i, level = 1;

crypto/sparse_array.c:183:1: Parameter `sa->nelem`
    181.   }
    182.   
    183. > int OPENSSL_SA_set(OPENSSL_SA *sa, ossl_uintmax_t posn, void *val)
    184.   {
    185.       int i, level = 1;

crypto/sparse_array.c:215:9: Binary operation: ([0, +oo] - 1):unsigned64 by call to `ossl_sa_char_set` 
    213.       p += posn & SA_BLOCK_MASK;
    214.       if (val == NULL && *p != NULL)
    215.           sa->nelem--;
                   ^
    216.       else if (val != NULL && *p == NULL)
    217.           sa->nelem++;
