From dae1d0e512d37d4b0a8c725691f6021bd5d56847 Mon Sep 17 00:00:00 2001 From: wl Date: Sat, 2 Feb 2013 19:05:09 +0000 Subject: [grohtml] Don't ignore return value of `dup'. * src/preproc/html/pushback.cpp (pushBackBuffer::pushBackBuffer, pushBackBuffer::~pushBackBuffer): Abort if `dup' fails. --- ChangeLog | 7 +++++++ src/preproc/html/pushback.cpp | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a6e0f864..07cef209 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2013-02-02 Gilles Espinasse + + [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 * 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); } -- cgit v1.2.1