summaryrefslogtreecommitdiffstats
path: root/tag.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2020-03-13 16:16:58 +0000
committerIngo Schwarze <schwarze@openbsd.org>2020-03-13 16:16:58 +0000
commite904e5abe5626e053fa0db3dbf1d46d5c4801d8b (patch)
tree5879387255280570c07e31c24427ffb1af5fc78d /tag.c
parent42d5f8ddfdcc19abca690eba6b3c1bc230e43079 (diff)
downloadmandoc-e904e5abe5626e053fa0db3dbf1d46d5c4801d8b.tar.gz
Properly reset the validation part of the tagging module between files.
This fixes a crash in makewhatis(8) encountered by naddy@.
Diffstat (limited to 'tag.c')
-rw-r--r--tag.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/tag.c b/tag.c
index 0db354c1..50502e58 100644
--- a/tag.c
+++ b/tag.c
@@ -59,6 +59,8 @@ tag_free(void)
struct tag_entry *entry;
unsigned int slot;
+ if (tag_data.info.free == NULL)
+ return;
entry = ohash_first(&tag_data, &slot);
while (entry != NULL) {
free(entry->nodes);
@@ -66,6 +68,7 @@ tag_free(void)
entry = ohash_next(&tag_data, &slot);
}
ohash_delete(&tag_data);
+ tag_data.info.free = NULL;
}
/*