From 60881b75ecb4166c89bb9b3392b5126557aaa6f0 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Tue, 9 Mar 2021 11:47:23 +0000 Subject: ostree-repo-pull: Fix a leak of the summary data if loading from cache MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If the `summary_sig_not_modified` branch is taken above, both `signatures` and `summary` are loaded from the cache. This makes the `_ostree_repo_load_cache_summary_if_same_sig()` call below redundant (it checks `signatures` matches the file it was just loaded from, and then loads `summary` again) — but that call also currently overwrites `summary` without clearing the old value. Fix this by only making that call if `signatures` was retrieved, but the server said the local `summary` cache was invalid. Signed-off-by: Philip Withnall --- src/libostree/ostree-repo-pull.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c index a95190a5..6c5bffcf 100644 --- a/src/libostree/ostree-repo-pull.c +++ b/src/libostree/ostree-repo-pull.c @@ -6674,7 +6674,7 @@ ostree_repo_remote_fetch_summary_with_options (OstreeRepo *self, return FALSE; } - if (signatures) + if (signatures && !summary) { if (!_ostree_repo_load_cache_summary_if_same_sig (self, name, -- cgit v1.2.1