From d8c0fa3cb8657816f5228e52ce751213bd2daae6 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 26 Aug 2026 05:12:28 +0900 Subject: [PATCH] import: finalize decompressor Otherwise, the result may be truncated, or trailing garbage may be silently accepted. --- src/import/pull-job.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/import/pull-job.c b/src/import/pull-job.c index 51714b1faa..a819911ca8 100644 --- a/src/import/pull-job.c +++ b/src/import/pull-job.c @@ -421,6 +421,11 @@ static int pull_job_curl_on_finished(CurlSlot *slot, CURL *curl, CURLcode result if (j->state != PULL_JOB_RUNNING) return pull_job_finish(j, log_error_errno(SYNTHETIC_ERRNO(EIO), "Premature connection termination.")); + /* Finalize decompressor. */ + r = decompressor_push(j->compress, /* data= */ NULL, /* size= */ 0, pull_job_write_uncompressed, j); + if (r < 0) + return pull_job_finish(j, r); + uint64_t cl = pull_job_content_length_effective(j); if (cl != UINT64_MAX && cl != j->written_compressed)