[PATCH v6 03/15] reftable: fix resource leak blocksource.c
- From
Han-Wen Nienhuys via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Jan 20, 2022, 15:12 UTC
- Message-ID
- <7cf65e141cfb6de7668a06a8d66cc6e254fac691.1642691534.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1152.v6.git.git.1642691534.gitgitgadget@gmail.com>
From: Han-Wen Nienhuys <hanwen@google.com>
This would be triggered in the unlikely event of fstat() failing on an opened file.
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> --- reftable/blocksource.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/reftable/blocksource.c b/reftable/blocksource.c index 0044eecd9aa..2605371c28d 100644 --- a/reftable/blocksource.c +++ b/reftable/blocksource.c @@ -134,8 +134,10 @@ int reftable_block_source_from_file(struct reftable_block_source *bs, } err = fstat(fd, &st); - if (err < 0) - return -1; + if (err < 0) { + close(fd); + return REFTABLE_IO_ERROR; + } p = reftable_calloc(sizeof(struct file_block_source)); p->size = st.st_size;
-- gitgitgadget