diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2020-03-13 16:16:58 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2020-03-13 16:16:58 +0000 |
commit | 83a7b814d91cedb0fa4c43fa8afea16c3d311369 (patch) | |
tree | dc8d8cb71e3df33f99de3ac1a320142b51636717 /tag.c | |
parent | f10f0fe3970de778125a29d73e65e63f32c138e1 (diff) | |
download | mandoc-83a7b814d91cedb0fa4c43fa8afea16c3d311369.tar.gz mandoc-83a7b814d91cedb0fa4c43fa8afea16c3d311369.tar.zst mandoc-83a7b814d91cedb0fa4c43fa8afea16c3d311369.zip |
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.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -1,4 +1,4 @@ -/* $Id: tag.c,v 1.28 2020/03/13 15:32:29 schwarze Exp $ */ +/* $Id: tag.c,v 1.29 2020/03/13 16:16:58 schwarze Exp $ */ /* * Copyright (c) 2015,2016,2018,2019,2020 Ingo Schwarze <schwarze@openbsd.org> * @@ -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; } /* |