]> git.ipfire.org Git - thirdparty/git.git/commitdiff
reftable/reader: be more careful about errors in indexed seeks
authorPatrick Steinhardt <ps@pks.im>
Thu, 1 Feb 2024 07:51:56 +0000 (08:51 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 1 Feb 2024 19:11:32 +0000 (11:11 -0800)
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 <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
reftable/reader.c

index 64dc366fb15935c55c5377ec9d4f1b74640cc3f6..278f727a3dfe337a213de4768d1b2ace716fbf54 100644 (file)
@@ -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);