From 6b50d7a85b1252da36033c2a75fc5801398694c4 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@collabora.com>
Date: Wed, 2 Sep 2020 18:07:25 +0100
Subject: [PATCH] wrap: Syntactically canonicalize environment variable values

If we're given a relative path, make it absolute before transforming
it for the host.

Signed-off-by: Simon McVittie <smcv@collabora.com>
---
 src/wrap.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/wrap.c b/src/wrap.c
index 18dfa71b1..9ad4d8b01 100644
--- a/src/wrap.c
+++ b/src/wrap.c
@@ -236,6 +236,7 @@ bind_and_propagate_from_environ (const char *variable,
                                  FlatpakBwrap *bwrap)
 {
   g_autofree gchar *value_host = NULL;
+  g_autofree gchar *canon = NULL;
   const char *value = g_getenv (variable);
 
   if (value == NULL)
@@ -248,7 +249,8 @@ bind_and_propagate_from_environ (const char *variable,
       return;
     }
 
-  value_host = pv_current_namespace_path_to_host_path (value);
+  canon = g_canonicalize_filename (value, NULL);
+  value_host = pv_current_namespace_path_to_host_path (canon);
 
   g_debug ("Bind-mounting %s=\"%s\" from the current env as %s=\"%s\" in the host",
            variable, value, variable, value_host);
-- 
GitLab