test/property_test.c:243: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `ossl_method_store_add`.
Showing all 12 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, NULL, impls[i].nid,
                    ^
244.                                                impls[i].prop, impls[i].impl,
245.                                                NULL, NULL))) {

crypto/property/property.c:166:1: Parameter `store->algs->nelem`
  164.   }
  165.   
  166. > int ossl_method_store_add(OSSL_METHOD_STORE *store, const OSSL_PROVIDER *prov,
  167.                             int nid, const char *properties, void *method,
  168.                             int (*method_up_ref)(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, NULL, impls[i].nid,
                    ^
244.                                                impls[i].prop, impls[i].impl,
245.                                                NULL, NULL))) {

crypto/property/property.c:166:1: Parameter `store->algs->nelem`
  164.   }
  165.   
  166. > int ossl_method_store_add(OSSL_METHOD_STORE *store, const OSSL_PROVIDER *prov,
  167.                             int nid, const char *properties, void *method,
  168.                             int (*method_up_ref)(void *),

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

crypto/property/property.c:161:1: Parameter `store->algs->nelem`
    159.   }
    160.   
    161. > static int ossl_method_store_insert(OSSL_METHOD_STORE *store, ALGORITHM *alg)
    162.   {
    163.           return ossl_sa_ALGORITHM_set(store->algs, alg->nid, alg);

crypto/property/property.c:163:16: Call
    161.   static int ossl_method_store_insert(OSSL_METHOD_STORE *store, ALGORITHM *alg)
    162.   {
    163.           return ossl_sa_ALGORITHM_set(store->algs, alg->nid, alg);
                          ^
    164.   }
    165.   

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

crypto/property/property.c:67:1: Call
      65.   } IMPL_CACHE_FLUSH;
      66.   
      67. > DEFINE_SPARSE_ARRAY_OF(ALGORITHM);
      68.   
      69.   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++;
