[LEDE-DEV] [PATCH] procd: get rid of putenv usage.

Rosen Penev rosenp at gmail.com
Mon Jan 22 18:57:15 PST 2018


setenv is prefered according to POSIX. Also allows staticly allocated strings.

Saves 200 bytes when stripped. 400 without.

Signed-off-by: Rosen Penev <rosenp at gmail.com>
---
 service/instance.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/service/instance.c b/service/instance.c
index 12c2efe..848679c 100644
--- a/service/instance.c
+++ b/service/instance.c
@@ -279,7 +279,7 @@ instance_run(struct service_instance *in, int _stdout, int _stderr)
 	struct blobmsg_list_node *var;
 	struct blob_attr *cur;
 	char **argv;
-	char *ld_preload;
+	char *ld_preload = "/lib/libsetlbf.so";
 	int argc = 1; /* NULL terminated */
 	int rem, _stdin;
 	bool seccomp = !in->trace && !in->has_jail && in->seccomp;
@@ -297,8 +297,8 @@ instance_run(struct service_instance *in, int _stdout, int _stderr)
 	if (seccomp)
 		setenv("SECCOMP_FILE", in->seccomp, 1);
 
-	if (setlbf && asprintf(&ld_preload, "LD_PRELOAD=/lib/libsetlbf.so") > 0)
-		putenv(ld_preload);
+	if (setlbf)
+		setenv("LD_PRELOAD", ld_preload, 1);
 
 	blobmsg_list_for_each(&in->limits, var)
 		instance_limits(blobmsg_name(var->data), blobmsg_data(var->data));
-- 
2.7.4




More information about the Lede-dev mailing list