ff2b41
From c145af2a34a47f357711a2ae97c3d71db8df905f Mon Sep 17 00:00:00 2001
ff2b41
From: Lennart Poettering <lennart@poettering.net>
ff2b41
Date: Thu, 23 Jul 2015 23:47:54 +0200
ff2b41
Subject: [PATCH] process: an empty environment block should be returned as
ff2b41
 such
ff2b41
ff2b41
An empty env block is completely valid, hence return it as such, and
ff2b41
don't turn it into an error.
ff2b41
ff2b41
(cherry picked from commit 03c55bc0b980e2a6aaf6f166a9271ed8ecce2222)
ff2b41
ff2b41
Resolves: #1685648
ff2b41
---
ff2b41
 src/shared/util.c | 8 +++++++-
ff2b41
 1 file changed, 7 insertions(+), 1 deletion(-)
ff2b41
ff2b41
diff --git a/src/shared/util.c b/src/shared/util.c
ff2b41
index 07de902aaf..82c8e433dd 100644
ff2b41
--- a/src/shared/util.c
ff2b41
+++ b/src/shared/util.c
ff2b41
@@ -954,7 +954,13 @@ int get_process_environ(pid_t pid, char **env) {
ff2b41
                         sz += cescape_char(c, outcome + sz);
ff2b41
         }
ff2b41
 
ff2b41
-        outcome[sz] = '\0';
ff2b41
+        if (!outcome) {
ff2b41
+                outcome = strdup("");
ff2b41
+                if (!outcome)
ff2b41
+                        return -ENOMEM;
ff2b41
+        } else
ff2b41
+                outcome[sz] = '\0';
ff2b41
+
ff2b41
         *env = outcome;
ff2b41
         outcome = NULL;
ff2b41