diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/preproc/html/pushback.cpp | 7 |
2 files changed, 13 insertions, 1 deletions
@@ -1,3 +1,10 @@ +2013-02-02 Gilles Espinasse <g.esp@free.fr> + + [grohtml] Don't ignore return value of `dup'. + + * src/preproc/html/pushback.cpp (pushBackBuffer::pushBackBuffer, + pushBackBuffer::~pushBackBuffer): Abort if `dup' fails. + 2013-01-30 Bernd Warken <groff-bernd.warken-72@web.de> * tmac/groff_man.man: Fix wrong connection for tbl(1). diff --git a/src/preproc/html/pushback.cpp b/src/preproc/html/pushback.cpp index 60ca9ff7..562669e7 100644 --- a/src/preproc/html/pushback.cpp +++ b/src/preproc/html/pushback.cpp @@ -71,6 +71,9 @@ pushBackBuffer::pushBackBuffer (char *filename) lineNo = 1; if (strcmp(filename, "") != 0) { stdIn = dup(0); + if (stdIn<0) { + sys_fatal("dup stdin"); + } close(0); if (open(filename, O_RDONLY) != 0) { sys_fatal("when trying to open file"); @@ -87,7 +90,9 @@ pushBackBuffer::~pushBackBuffer () } close(0); /* restore stdin in file descriptor 0 */ - dup(stdIn); + if (dup(stdIn)<0) { + sys_fatal("restore stdin"); + } close(stdIn); } |