From b2f62a9dfad85b17622ada01e540d1dfe412b637 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Sat, 10 Dec 2011 21:46:59 +0000 Subject: Plug a memory leak in single_search(). --- apropos_db.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'apropos_db.c') diff --git a/apropos_db.c b/apropos_db.c index 36afaf47..7684f27e 100644 --- a/apropos_db.c +++ b/apropos_db.c @@ -550,6 +550,7 @@ single_search(struct rectree *tree, const struct opts *opts, (rs, (tree->len + 1) * sizeof(struct rec)); memcpy(&rs[tree->len], &r, sizeof(struct rec)); + memset(&r, 0, sizeof(struct rec)); rs[tree->len].matches = mandoc_calloc(terms, sizeof(int)); @@ -565,7 +566,6 @@ single_search(struct rectree *tree, const struct opts *opts, } else root = tree->len; - memset(&r, 0, sizeof(struct rec)); tree->len++; } @@ -573,6 +573,7 @@ single_search(struct rectree *tree, const struct opts *opts, (*idx->close)(idx); free(buf); + recfree(&r); return(1 == ch); } -- cgit