From 80efcef53673f36280ca99580440e83be98e2286 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Fri, 23 Feb 2018 16:47:10 +0000 Subject: 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. --- main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 5421a77c..e65d90a1 100644 --- a/main.c +++ b/main.c @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.302 2017/08/21 15:42:58 schwarze Exp $ */ +/* $Id: main.c,v 1.303 2018/02/23 16:47:10 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2012, 2014-2017 Ingo Schwarze @@ -1184,7 +1184,7 @@ spawn_pager(struct tag_files *tag_files) if (dup2(tag_files->ofd, STDOUT_FILENO) == -1) err((int)MANDOCLEVEL_SYSERR, "pager stdout"); close(tag_files->ofd); - close(tag_files->tfd); + assert(tag_files->tfd == -1); /* Do not start the pager before controlling the terminal. */ -- cgit v1.2.3-56-ge451