diff options
author | Phaedrus Leeds <mwleeds@protonmail.com> | 2021-05-02 17:13:53 -0500 |
---|---|---|
committer | Alexander Larsson <alexander.larsson@gmail.com> | 2021-05-04 10:23:13 +0200 |
commit | d191c2eb586354055443848a95f945ed39dabadf (patch) | |
tree | a196beead8b7f690cc5943518a6aaf73a5b36b6d | |
parent | 1120c7cb2472ec991a837d3233fc0b5f88d3e404 (diff) | |
download | flatpak-d191c2eb586354055443848a95f945ed39dabadf.tar.gz |
context: Fix leak of env var key/value pair
-rw-r--r-- | common/flatpak-context.c | 8 |
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; |