diff mbox series

[v2,1/5] reftable/reader: be more careful about errors in indexed seeks

Message ID ecf834a2996f554aa046839dedb835385ef84df5.1706773842.git.ps@pks.im (mailing list archive)
State Accepted
Commit d55fc5128b26a64c2e7b6612d0442c9e924696e8
Headers show
Series reftable: fix writing multi-level indices | expand

Commit Message

Patrick Steinhardt Feb. 1, 2024, 7:51 a.m. UTC
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>
---
 reftable/reader.c | 3 +++
 1 file changed, 3 insertions(+)
diff mbox series

Patch

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);