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:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user