[PATCH v2 02/14] pack v4: add pv4_free_dict()
From: Nguyễn Thái Ngọc Duy <hidden>
Date: 2016-06-15 22:58:40
Subsystem:
the rest · Maintainer:
Linus Torvalds
--- packv4-parse.c | 8 ++++++++ packv4-parse.h | 1 + sha1_file.c | 2 ++ 3 files changed, 11 insertions(+)
diff --git a/packv4-parse.c b/packv4-parse.c
index 82661ba..d515bb9 100644
--- a/packv4-parse.c
+++ b/packv4-parse.c@@ -63,6 +63,14 @@ struct packv4_dict *pv4_create_dict(const unsigned char *data, int dict_size) return dict; } +void pv4_free_dict(struct packv4_dict *dict) +{ + if (dict) { + free((void*)dict->data); + free(dict); + } +} + static struct packv4_dict *load_dict(struct packed_git *p, off_t *offset) { struct pack_window *w_curs = NULL;
diff --git a/packv4-parse.h b/packv4-parse.h
index 0b2405a..e6719f6 100644
--- a/packv4-parse.h
+++ b/packv4-parse.h@@ -8,6 +8,7 @@ struct packv4_dict { }; struct packv4_dict *pv4_create_dict(const unsigned char *data, int dict_size); +void pv4_free_dict(struct packv4_dict *dict); void *pv4_get_commit(struct packed_git *p, struct pack_window **w_curs, off_t offset, unsigned long size);
diff --git a/sha1_file.c b/sha1_file.c
index c7bf677..1528e28 100644
--- a/sha1_file.c
+++ b/sha1_file.c@@ -763,6 +763,8 @@ void free_pack_by_name(const char *pack_name) } close_pack_index(p); free(p->bad_object_sha1); + pv4_free_dict(p->ident_dict); + pv4_free_dict(p->path_dict); *pp = p->next; if (last_found_pack == p) last_found_pack = NULL;
--
1.8.2.83.gc99314b