diff options
-rw-r--r-- | apropos_db.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/apropos_db.c b/apropos_db.c index 3eca9874..fd657558 100644 --- a/apropos_db.c +++ b/apropos_db.c @@ -1,4 +1,4 @@ -/* $Id: apropos_db.c,v 1.22 2011/12/09 11:18:57 kristaps Exp $ */ +/* $Id: apropos_db.c,v 1.23 2011/12/10 21:46:59 kristaps Exp $ */ /* * Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org> @@ -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); } |