From: Daan De Meyer Date: Sat, 12 Apr 2025 14:59:43 +0000 (+0200) Subject: basic: Remove circular dep between alloc-util.h and memory-util.h X-Git-Tag: v258-rc1~780^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=95609f3dff364c2b0aea6d6c1918defccab9e197;p=thirdparty%2Fsystemd.git basic: Remove circular dep between alloc-util.h and memory-util.h --- diff --git a/src/basic/alloc-util.c b/src/basic/alloc-util.c index 96cf27dc37d..1a6b178eb7b 100644 --- a/src/basic/alloc-util.c +++ b/src/basic/alloc-util.c @@ -6,7 +6,6 @@ #include "alloc-util.h" #include "macro.h" -#include "memory-util.h" void* memdup(const void *p, size_t l) { void *ret; diff --git a/src/basic/alloc-util.h b/src/basic/alloc-util.h index 8bb3c421130..764a364a71b 100644 --- a/src/basic/alloc-util.h +++ b/src/basic/alloc-util.h @@ -9,6 +9,7 @@ #include "assert-util.h" #include "macro.h" +#include "memory-util.h" #if HAS_FEATURE_MEMORY_SANITIZER # include @@ -267,5 +268,3 @@ _alloc_(2) static inline void *realloc0(void *p, size_t new_size) { return q; } - -#include "memory-util.h" diff --git a/src/basic/keyring-util.c b/src/basic/keyring-util.c index 9f39161c147..4d7431cdf23 100644 --- a/src/basic/keyring-util.c +++ b/src/basic/keyring-util.c @@ -2,6 +2,7 @@ #include "keyring-util.h" #include "log.h" +#include "alloc-util.h" #include "memory-util.h" #include "missing_syscall.h" diff --git a/src/basic/memory-util.c b/src/basic/memory-util.c index 1596727e58f..b39ec725a99 100644 --- a/src/basic/memory-util.c +++ b/src/basic/memory-util.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "memory-util.h" size_t page_size(void) { @@ -55,3 +56,14 @@ void* memdup_reverse(const void *mem, size_t size) { return p; } + +void* erase_and_free(void *p) { + size_t l; + + if (!p) + return NULL; + + l = MALLOC_SIZEOF_SAFE(p); + explicit_bzero_safe(p, l); + return mfree(p); +} diff --git a/src/basic/memory-util.h b/src/basic/memory-util.h index 524e827a6c3..443fc3a8ab5 100644 --- a/src/basic/memory-util.h +++ b/src/basic/memory-util.h @@ -7,7 +7,6 @@ #include #include -#include "alloc-util.h" #include "macro.h" #include "memory-util-fundamental.h" @@ -98,16 +97,7 @@ static inline void* mempmem_safe(const void *haystack, size_t haystacklen, const return (uint8_t*) p + needlelen; } -static inline void* erase_and_free(void *p) { - size_t l; - - if (!p) - return NULL; - - l = MALLOC_SIZEOF_SAFE(p); - explicit_bzero_safe(p, l); - return mfree(p); -} +void* erase_and_free(void *p); static inline void erase_and_freep(void *p) { erase_and_free(*(void**) p); diff --git a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c index 07c95fece27..dc8f92f2e1f 100644 --- a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c +++ b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c @@ -5,6 +5,7 @@ #include "sd-json.h" +#include "alloc-util.h" #include "cryptsetup-token.h" #include "cryptsetup-token-util.h" #include "hexdecoct.h" diff --git a/src/shared/recovery-key.c b/src/shared/recovery-key.c index 6a2f4d0f98b..3233f05dfc5 100644 --- a/src/shared/recovery-key.c +++ b/src/shared/recovery-key.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "memory-util.h" #include "random-util.h" #include "recovery-key.h"