diff options
author | 2018-02-23 16:47:10 +0000 | |
---|---|---|
committer | 2018-02-23 16:47:10 +0000 | |
commit | 80efcef53673f36280ca99580440e83be98e2286 (patch) | |
tree | f4634a984e2574321504ecea789e1a3e38a9990a /tag.c | |
parent | 1bc6ab722f082440bad4dc064025f98486495299 (diff) | |
download | mandoc-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.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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 |