From: Patrick Steinhardt Date: Thu, 1 Feb 2024 07:51:56 +0000 (+0100) Subject: reftable/reader: be more careful about errors in indexed seeks X-Git-Tag: v2.44.0-rc1~17^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d55fc5128b26a64c2e7b6612d0442c9e924696e8;p=thirdparty%2Fgit.git reftable/reader: be more careful about errors in indexed seeks When doing an indexed seek we first need to do a linear seek in order to find the index block for our wanted key. We do not check the returned error of the linear seek though. This is likely not an issue because the next call to `table_iter_next()` would return error, too. But it very much is a code smell when an error variable is being assigned to without actually checking it. Safeguard the code by checking for errors. Signed-off-by: Patrick Steinhardt Signed-off-by: Junio C Hamano --- diff --git a/reftable/reader.c b/reftable/reader.c index 64dc366fb1..278f727a3d 100644 --- a/reftable/reader.c +++ b/reftable/reader.c @@ -509,6 +509,9 @@ static int reader_seek_indexed(struct reftable_reader *r, goto done; err = reader_seek_linear(&index_iter, &want_index); + if (err < 0) + goto done; + while (1) { err = table_iter_next(&index_iter, &index_result); table_iter_block_done(&index_iter);