[PATCH v2] reftable: release name on reftable_reader_new() error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If block_source_read_block() or parse_footer() fail, we leak the "name"
member of struct reftable_reader in reftable_reader_new().  Release it.

Reported by: H Z <shiyuyuranzh@xxxxxxxxx>
Helped-by: Jeff King <peff@xxxxxxxx>
Signed-off-by: René Scharfe <l.s.r@xxxxxx>
---
Change since v1: Avoid NULL pointer dereference.  Thank you, Peff!

 reftable/reader.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/reftable/reader.c b/reftable/reader.c
index 3f2e4b2800..24bae50ac2 100644
--- a/reftable/reader.c
+++ b/reftable/reader.c
@@ -666,6 +666,8 @@ int reftable_reader_new(struct reftable_reader **out,
 	reftable_block_done(&footer);
 	reftable_block_done(&header);
 	if (err) {
+		if (r)
+			reftable_free(r->name);
 		reftable_free(r);
 		block_source_close(source);
 	}
--
2.48.1





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux