[pseudo][PATCH v2 17/23] pseudo_util: Ensure pseudo_setupenvp handles memory consistently

Mark Hatle <[email protected]> Fri, 3 Jul 2026 13:40:49 -0500
Newsgroups org.yoctoproject.lists.yocto-patches
Message-ID <1783104055-19005-18-git-send-email-mark.hatle@kernel.crashing.org>
From: Richard Purdie <[email protected]>

Most of the new environment values added to the new environment array
returned by setupenvp are already freshly allocated memory. Ensure all
the returned values are so the data can be handled consistently and
correctly freed (for a later patch).

Signed-off-by: Richard Purdie <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Mark Hatle <[email protected]>
---
 pseudo_util.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pseudo_util.c b/pseudo_util.c
index 66afe25..5095e5b 100644
--- a/pseudo_util.c
+++ b/pseudo_util.c
@@ -1242,7 +1242,7 @@ pseudo_setupenvp(char * const *envp) {
 		}
 	} else {
 		/* keep old value */
-		new_envp[j++] = ld_library_path;
+		new_envp[j++] = strdup(ld_library_path);
 	}
 
 	if (ld_preload) {
@@ -1273,7 +1273,7 @@ pseudo_setupenvp(char * const *envp) {
 	for (i = 0; envp && envp[i]; ++i) {
 		if (STARTSWITH(envp[i], PRELINK_LIBRARIES "=")) continue;
 		if (STARTSWITH(envp[i], PRELINK_PATH "=")) continue;
-		new_envp[j++] = envp[i];
+		new_envp[j++] = strdup(envp[i]);
 	}
 
 	for (i = 0; pseudo_env[i].key; i++) {
-- 
1.8.3.1