From 747c2a32dfd541916620f9034c696ca14e164156 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@collabora.com>
Date: Thu, 22 Apr 2021 14:19:01 +0100
Subject: [PATCH] pv-runtime: Don't early-return in
 pv_runtime_remove_overridden_libraries()

We need to 'goto out' to free some arrays of objects, which are too
complicated for `__attribute__((__cleanup__))`.

Signed-off-by: Simon McVittie <smcv@collabora.com>
---
 pressure-vessel/runtime.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/pressure-vessel/runtime.c b/pressure-vessel/runtime.c
index 36cd71f4f..49a798647 100644
--- a/pressure-vessel/runtime.c
+++ b/pressure-vessel/runtime.c
@@ -2846,9 +2846,11 @@ pv_runtime_remove_overridden_libraries (PvRuntime *self,
 
           if (!glnx_dirfd_iterator_next_dent_ensure_dtype (&iters[i], &dent,
                                                            NULL, error))
-            return glnx_prefix_error (error, "Unable to iterate over \"%s/%s\"",
-                                      self->mutable_sysroot,
-                                      libdir);
+            {
+              glnx_prefix_error (error, "Unable to iterate over \"%s/%s\"",
+                                 self->mutable_sysroot, libdir);
+              goto out;
+            }
 
           if (dent == NULL)
             break;
-- 
GitLab