diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2017-02-03 17:56:59 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2017-02-03 17:56:59 +0000 |
commit | 402f80d3490ec5c23b61eb24899c3b54901f4532 (patch) | |
tree | 6a7aea3654f6aa66bd80763adb9b83f86d6bf532 | |
parent | be74a9adcd217d08fca9c671962714d62da909d7 (diff) | |
download | mandoc-402f80d3490ec5c23b61eb24899c3b54901f4532.tar.gz mandoc-402f80d3490ec5c23b61eb24899c3b54901f4532.tar.zst mandoc-402f80d3490ec5c23b61eb24899c3b54901f4532.zip |
If an application parses multiple files with mparse_readfd(3) but
without using mparse_open(3) to open the files, and if one of the
files includes a gzip'ed file with .so, then the gzip flag remains
set and the next main file will be expected to be gzip'ed.
Fix this by clearing the gzip flag in mparse_reset(3).
Bug found and patch provided by Michael <Stapelberg at debian dot org>.
-rw-r--r-- | read.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1,4 +1,4 @@ -/* $Id: read.c,v 1.158 2017/01/28 23:30:08 schwarze Exp $ */ +/* $Id: read.c,v 1.159 2017/02/03 17:56:59 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org> @@ -837,6 +837,7 @@ mparse_reset(struct mparse *curp) free(curp->sodest); curp->sodest = NULL; + curp->gzip = 0; } void |