aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tag.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2018-02-23 16:47:10 +0000
committerIngo Schwarze <schwarze@openbsd.org>2018-02-23 16:47:10 +0000
commit80efcef53673f36280ca99580440e83be98e2286 (patch)
treef4634a984e2574321504ecea789e1a3e38a9990a /tag.c
parent1bc6ab722f082440bad4dc064025f98486495299 (diff)
downloadmandoc-80efcef53673f36280ca99580440e83be98e2286.tar.gz
mandoc-80efcef53673f36280ca99580440e83be98e2286.tar.zst
mandoc-80efcef53673f36280ca99580440e83be98e2286.zip
Invalidate the tag_files.tfd after fclose(3)ing the stram associated
with it. In main() assert that the tfd was actually invalidated. This avoids closing an invalid fd. From tb@; OK deraadt@ on an earlier version.
Diffstat (limited to 'tag.c')
-rw-r--r--tag.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/tag.c b/tag.c
index 21ac6b32..c0832c4f 100644
--- a/tag.c
+++ b/tag.c
@@ -1,4 +1,4 @@
-/* $Id: tag.c,v 1.18 2017/02/17 14:31:52 schwarze Exp $ */
+/* $Id: tag.c,v 1.19 2018/02/23 16:47:10 schwarze Exp $ */
/*
* Copyright (c) 2015, 2016 Ingo Schwarze <schwarze@openbsd.org>
*
@@ -213,6 +213,9 @@ tag_write(void)
ohash_delete(&tag_data);
if (stream != NULL)
fclose(stream);
+ else
+ close(tag_files.tfd);
+ tag_files.tfd = -1;
}
void