Merge branch 'ly/reftable-writer-leakfix'

Leakfix.

* ly/reftable-writer-leakfix:
  reftable/writer: fix memory leak when `writer_index_hash()` fails
  reftable/writer: fix memory leak when `padded_write()` fails
This commit is contained in:
Junio C Hamano
2025-05-19 16:02:47 -07:00

View File

@@ -57,8 +57,10 @@ static int padded_write(struct reftable_writer *w, uint8_t *data, size_t len,
return -1;
n = w->write(w->write_arg, zeroed, w->pending_padding);
if (n < 0)
if (n < 0) {
reftable_free(zeroed);
return n;
}
w->pending_padding = 0;
reftable_free(zeroed);
@@ -256,8 +258,10 @@ static int writer_index_hash(struct reftable_writer *w, struct reftable_buf *has
reftable_buf_reset(&key->hash);
err = reftable_buf_add(&key->hash, hash->buf, hash->len);
if (err < 0)
if (err < 0) {
reftable_free(key);
return err;
}
tree_insert(&w->obj_index_tree, key,
&obj_index_tree_node_compare);
} else {