diff --git a/pressure-vessel/runtime.c b/pressure-vessel/runtime.c index 925d96ea3b99f4e1c8032531f898b7551750e96f..5c0322f1cf36d736a6a0eca7bd7e299264fbbce8 100644 --- a/pressure-vessel/runtime.c +++ b/pressure-vessel/runtime.c @@ -887,11 +887,17 @@ pv_runtime_initable_init (GInitable *initable, { /* We currently only need a temporary directory if we don't have * a mutable sysroot to work with. */ - self->tmpdir = g_dir_make_tmp ("pressure-vessel-wrap.XXXXXX", error); + g_autofree gchar *tmpdir = g_dir_make_tmp ("pressure-vessel-wrap.XXXXXX", + error); - if (self->tmpdir == NULL) + if (tmpdir == NULL) return FALSE; + self->tmpdir = realpath (tmpdir, NULL); + + if (self->tmpdir == NULL) + return glnx_throw_errno_prefix (error, "realpath(\"%s\")", tmpdir); + self->overrides = g_build_filename (self->tmpdir, "overrides", NULL); self->overrides_in_container = "/overrides"; self->runtime_files = self->source_files;