From f8bdc3d86b2fb2bca39e568d43497afdbdfd94aa Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 26 Sep 2024 21:53:37 +0530 Subject: [PATCH] Fix #7904 --- kitty/crypto.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/kitty/crypto.c b/kitty/crypto.c index cf4ccd7e1..002b795c9 100644 --- a/kitty/crypto.c +++ b/kitty/crypto.c @@ -17,6 +17,20 @@ #include #include +#ifdef LIBRESSL_VERSION_NUMBER +/* from: https://github.com/libressl/portable/blob/master/include/compat/string.h#L63 */ +#define explicit_bzero libressl_explicit_bzero +void explicit_bzero(void *, size_t); +/* from: https://github.com/libressl/portable/blob/master/crypto/compat/freezero.c */ +void +freezero(void *ptr, size_t sz) { + if (ptr == NULL) return; + explicit_bzero(ptr, sz); + free(ptr); +} +#define OPENSSL_clear_free freezero +#endif + #define SHA1_DIGEST_LENGTH SHA_DIGEST_LENGTH typedef enum HASH_ALGORITHM { SHA1_HASH, SHA224_HASH, SHA256_HASH, SHA384_HASH, SHA512_HASH } HASH_ALGORITHM;