]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
rustls: apply memory function overrides, fixing an ECH buffer free
authorViktor Szakats <commit@vsz.me>
Sun, 6 Jul 2025 10:35:00 +0000 (12:35 +0200)
committerViktor Szakats <commit@vsz.me>
Sun, 6 Jul 2025 18:08:58 +0000 (20:08 +0200)
Fixing:

- a raw `free()` in ECH code that's malloced in lib code, causing
  an invalid free, also reported by valgrind (in non-unity builds).

  And in unity builds adjusted to behave like non-unity via #17827:
  Ref: https://github.com/curl/curl/actions/runs/16093372427/job/45421778472?pr=17827#step:39:3321

- a local pair of `malloc()`/`free()` to use curl's memory allocators,
  and participate in memory tracking when enabled.

Cherry-picked from #17827
Closes #17830

lib/vtls/rustls.c

index ca318d5f4e6242cbe007ffb1adf2657b58c7236c..7071df88d990b15e5b05ce9b69a0b7e33e55096f 100644 (file)
 #include "cipher_suite.h"
 #include "x509asn1.h"
 
+/* The last #include files should be: */
+#include "../curl_memory.h"
+#include "../memdebug.h"
+
 struct rustls_ssl_backend_data
 {
   const struct rustls_client_config *config;