aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/read.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-02-03 17:56:59 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-02-03 17:56:59 +0000
commit402f80d3490ec5c23b61eb24899c3b54901f4532 (patch)
tree6a7aea3654f6aa66bd80763adb9b83f86d6bf532 /read.c
parentbe74a9adcd217d08fca9c671962714d62da909d7 (diff)
downloadmandoc-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>.
Diffstat (limited to 'read.c')
-rw-r--r--read.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/read.c b/read.c
index 885a2746..5c8af397 100644
--- a/read.c
+++ b/read.c
@@ -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