summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhaedrus Leeds <mwleeds@protonmail.com>2021-05-02 17:13:53 -0500
committerAlexander Larsson <alexander.larsson@gmail.com>2021-05-04 10:23:13 +0200
commitd191c2eb586354055443848a95f945ed39dabadf (patch)
treea196beead8b7f690cc5943518a6aaf73a5b36b6d
parent1120c7cb2472ec991a837d3233fc0b5f88d3e404 (diff)
downloadflatpak-d191c2eb586354055443848a95f945ed39dabadf.tar.gz
context: Fix leak of env var key/value pair
-rw-r--r--common/flatpak-context.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/common/flatpak-context.c b/common/flatpak-context.c
index 66fd935b..83735049 100644
--- a/common/flatpak-context.c
+++ b/common/flatpak-context.c
@@ -1150,6 +1150,8 @@ option_env_fd_cb (const gchar *option_name,
{
size_t len = strnlen (p, remaining);
const char *equals;
+ g_autofree char *env_var = NULL;
+ g_autofree char *env_value = NULL;
g_assert (len <= remaining);
@@ -1159,9 +1161,9 @@ option_env_fd_cb (const gchar *option_name,
return glnx_throw (error,
"Environment variable must be given in the form VARIABLE=VALUE, not %.*s", (int) len, p);
- flatpak_context_set_env_var (context,
- g_strndup (p, equals - p),
- g_strndup (equals + 1, len - (equals - p) - 1));
+ env_var = g_strndup (p, equals - p);
+ env_value = g_strndup (equals + 1, len - (equals - p) - 1);
+ flatpak_context_set_env_var (context, env_var, env_value);
p += len;
remaining -= len;