test/property_test.c:339: 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:339:14: Call
337.           v[i] = 2 * i;
338.           BIO_snprintf(buf, sizeof(buf), "n=%d\n", i);
339.           if (!TEST_true(ossl_method_store_add(store, i, buf, "abc", NULL))
                    ^
340.                   || !TEST_true(ossl_method_store_cache_set(store, i, buf, v + i))
341.                   || !TEST_true(ossl_method_store_cache_set(store, i, "n=1234",

crypto/property/property.c:187:1: Parameter `store->algs->nelem`
  185.   }
  186.   
  187. > int ossl_method_store_add(OSSL_METHOD_STORE *store,
  188.                             int nid, const char *properties,
  189.                             void *method, void (*method_destruct)(void *))

test/property_test.c:339:14: Call
337.           v[i] = 2 * i;
338.           BIO_snprintf(buf, sizeof(buf), "n=%d\n", i);
339.           if (!TEST_true(ossl_method_store_add(store, i, buf, "abc", NULL))
                    ^
340.                   || !TEST_true(ossl_method_store_cache_set(store, i, buf, v + i))
341.                   || !TEST_true(ossl_method_store_cache_set(store, i, "n=1234",

crypto/property/property.c:187:1: Parameter `store->algs->nelem`
  185.   }
  186.   
  187. > int ossl_method_store_add(OSSL_METHOD_STORE *store,
  188.                             int nid, const char *properties,
  189.                             void *method, void (*method_destruct)(void *))

crypto/property/property.c:228:14: Call
  226.               goto err;
  227.           alg->nid = nid;
  228.           if (!ossl_method_store_insert(store, alg))
                      ^
  229.               goto err;
  230.       }

crypto/property/property.c:182:1: Parameter `store->algs->nelem`
    180.   }
    181.   
    182. > static int ossl_method_store_insert(OSSL_METHOD_STORE *store, ALGORITHM *alg)
    183.   {
    184.           return ossl_sa_ALGORITHM_set(store->algs, alg->nid, alg);

crypto/property/property.c:184:16: Call
    182.   static int ossl_method_store_insert(OSSL_METHOD_STORE *store, ALGORITHM *alg)
    183.   {
    184.           return ossl_sa_ALGORITHM_set(store->algs, alg->nid, alg);
                          ^
    185.   }
    186.   

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

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