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


test/property_test.c:243:14: Call
241.   
242.       for (i = 0; i < OSSL_NELEM(impls); i++)
243.           if (!TEST_true(ossl_method_store_add(store, impls[i].nid, impls[i].prop,
                    ^
244.                                                impls[i].impl, NULL))) {
245.               TEST_note("iteration %zd", i + 1);

crypto/property/property.c:176:1: Parameter `store->algs->nelem`
  174.   }
  175.   
  176. > int ossl_method_store_add(OSSL_METHOD_STORE *store,
  177.                             int nid, const char *properties,
  178.                             void *method, void (*method_destruct)(void *))

test/property_test.c:243:14: Call
241.   
242.       for (i = 0; i < OSSL_NELEM(impls); i++)
243.           if (!TEST_true(ossl_method_store_add(store, impls[i].nid, impls[i].prop,
                    ^
244.                                                impls[i].impl, NULL))) {
245.               TEST_note("iteration %zd", i + 1);

crypto/property/property.c:176:1: Parameter `store->algs->nelem`
  174.   }
  175.   
  176. > int ossl_method_store_add(OSSL_METHOD_STORE *store,
  177.                             int nid, const char *properties,
  178.                             void *method, void (*method_destruct)(void *))

test/property_test.c:243:14: Call
241.   
242.       for (i = 0; i < OSSL_NELEM(impls); i++)
243.           if (!TEST_true(ossl_method_store_add(store, impls[i].nid, impls[i].prop,
                    ^
244.                                                impls[i].impl, NULL))) {
245.               TEST_note("iteration %zd", i + 1);

crypto/property/property.c:176:1: Parameter `store->algs->nelem`
  174.   }
  175.   
  176. > int ossl_method_store_add(OSSL_METHOD_STORE *store,
  177.                             int nid, const char *properties,
  178.                             void *method, void (*method_destruct)(void *))

crypto/property/property.c:218:14: Call
  216.               goto err;
  217.           alg->nid = nid;
  218.           if (!ossl_method_store_insert(store, alg))
                      ^
  219.               goto err;
  220.       }

crypto/property/property.c:171:1: Parameter `store->algs->nelem`
    169.   }
    170.   
    171. > static int ossl_method_store_insert(OSSL_METHOD_STORE *store, ALGORITHM *alg)
    172.   {
    173.           return ossl_sa_ALGORITHM_set(store->algs, alg->nid, alg);

crypto/property/property.c:173:16: Call
    171.   static int ossl_method_store_insert(OSSL_METHOD_STORE *store, ALGORITHM *alg)
    172.   {
    173.           return ossl_sa_ALGORITHM_set(store->algs, alg->nid, alg);
                          ^
    174.   }
    175.   

crypto/property/property.c:66:1: Parameter `sa->nelem`
      64.   } IMPL_CACHE_FLUSH;
      65.   
      66. > DEFINE_SPARSE_ARRAY_OF(ALGORITHM);
      67.   
      68.   static void ossl_method_cache_flush(OSSL_METHOD_STORE *store, int nid);

crypto/property/property.c:66:1: Call
      64.   } IMPL_CACHE_FLUSH;
      65.   
      66. > DEFINE_SPARSE_ARRAY_OF(ALGORITHM);
      67.   
      68.   static void ossl_method_cache_flush(OSSL_METHOD_STORE *store, int nid);

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_method_store_add` 
        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++;
