=================================================================== RCS file: /cvs/mandoc/read.c,v retrieving revision 1.129 retrieving revision 1.132 diff -u -p -r1.129 -r1.132 --- mandoc/read.c 2015/03/02 14:50:17 1.129 +++ mandoc/read.c 2015/03/17 07:33:07 1.132 @@ -1,4 +1,4 @@ -/* $Id: read.c,v 1.129 2015/03/02 14:50:17 schwarze Exp $ */ +/* $Id: read.c,v 1.132 2015/03/17 07:33:07 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010-2015 Ingo Schwarze @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -636,7 +637,7 @@ read_whole_file(struct mparse *curp, const char *file, */ if (S_ISREG(st.st_mode)) { - if (st.st_size >= (1U << 31)) { + if (st.st_size > 0x7fffffff) { mandoc_msg(MANDOCERR_TOOLARGE, curp, 0, 0, NULL); return(0); } @@ -846,6 +847,7 @@ mparse_open(struct mparse *curp, int *fd, const char * perror("dup"); exit((int)MANDOCLEVEL_SYSERR); } + signal(SIGPIPE, SIG_DFL); execlp("gunzip", "gunzip", "-c", file, NULL); perror("exec"); exit((int)MANDOCLEVEL_SYSERR);