From: Pavel Filipenský Date: Wed, 11 Mar 2026 16:34:05 +0000 (+0100) Subject: Revert "lib/util: Avoid overwriting talloc chunk name in talloc_keep_secret()" X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=3e9d572929b06e7f55a4be2e5cc384d77e1d3547;p=thirdparty%2Fsamba.git Revert "lib/util: Avoid overwriting talloc chunk name in talloc_keep_secret()" This reverts commit 7e693b55730ceba2ef326286a0c68d5d91324a22. Without this commit, for memory allocated via e.g. talloc_strdup(), talloc name would reveal memory content. Signed-off-by: Pavel Filipenský --- diff --git a/lib/util/talloc_keep_secret.c b/lib/util/talloc_keep_secret.c index c7d66a4d5e7..eb5bb80ff37 100644 --- a/lib/util/talloc_keep_secret.c +++ b/lib/util/talloc_keep_secret.c @@ -49,5 +49,6 @@ void _talloc_keep_secret(void *ptr, const char *name) return; } + talloc_set_name_const(ptr, name); talloc_set_destructor(ptr, talloc_keep_secret_destructor); } diff --git a/lib/util/tests/test_talloc_keep_secret.c b/lib/util/tests/test_talloc_keep_secret.c index 7c39431694d..66c3f7f3e7a 100644 --- a/lib/util/tests/test_talloc_keep_secret.c +++ b/lib/util/tests/test_talloc_keep_secret.c @@ -24,6 +24,7 @@ static void test_talloc_keep_secret(void ** state) TALLOC_CTX *pool = NULL; char *ptr1 = NULL; char *ptr2 = NULL; + const char *ptr1_talloc_name = NULL; size_t ptr1_size; size_t i; @@ -36,6 +37,9 @@ static void test_talloc_keep_secret(void ** state) talloc_keep_secret(ptr1); + ptr1_talloc_name = talloc_get_name(ptr1); + assert_string_equal(ptr1_talloc_name, "ptr1"); + ptr1_size = talloc_get_size(ptr1); assert_int_equal(ptr1_size, strlen(ptr1) + 1);