When copying a ref with the reftable backend we also copy the
corresponding log records. When seeking the first log record that we're
about to copy fails though we directly return from `write_copy_table()`
without doing any cleanup, leaking several allocated data structures.
Fix this by exiting via our common cleanup logic instead.
Reported-by: Jeff King <peff@peff.net> via Coverity
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
*/
ret = reftable_merged_table_seek_log(mt, &it, arg->oldname);
if (ret < 0)
- return ret;
+ goto done;
while (1) {
ret = reftable_iterator_next_log(&it, &old_log);