Frees the memory allocated by `ngtcp2_crypto_ossl_init`, thus making
Valgrind happy. Works for versions of ngtcp2 >= 1.24.0.
Ref: https://github.com/ngtcp2/ngtcp2/issues/2207
Closes #22363
Curl_async_global_cleanup();
#ifdef _WIN32
Curl_async_global_cleanup();
#ifdef _WIN32
+void Curl_vquic_cleanup(void)
+{
+#if defined(USE_NGTCP2) && defined(OPENSSL_QUIC_API2) && \
+ (NGTCP2_VERSION_NUM >= 0x011800)
+ ngtcp2_crypto_ossl_free();
+#endif
+}
+
void Curl_quic_ver(char *p, size_t len)
{
#if defined(USE_NGTCP2) && defined(USE_NGHTTP3)
void Curl_quic_ver(char *p, size_t len)
{
#if defined(USE_NGTCP2) && defined(USE_NGHTTP3)
void Curl_quic_ver(char *p, size_t len);
int Curl_vquic_init(void);
void Curl_quic_ver(char *p, size_t len);
int Curl_vquic_init(void);
+void Curl_vquic_cleanup(void);
CURLcode Curl_qlogdir(struct Curl_easy *data,
unsigned char *scid,
CURLcode Curl_qlogdir(struct Curl_easy *data,
unsigned char *scid,
#else
#define Curl_vquic_init() 1
#else
#define Curl_vquic_init() 1
+#define Curl_vquic_cleanup()
#endif /* !CURL_DISABLE_HTTP && USE_HTTP3 */
CURLcode Curl_conn_may_http3(struct Curl_easy *data,
#endif /* !CURL_DISABLE_HTTP && USE_HTTP3 */
CURLcode Curl_conn_may_http3(struct Curl_easy *data,