Fix those warnings
pushback.cpp: In destructor 'pushBackBuffer::~pushBackBuffer()':
pushback.cpp:90: warning: ignoring return value of 'int dup(int)', declared 
with attribute warn_unused_result
pushback.cpp: In destructor 'pushBackBuffer::~pushBackBuffer()':
pushback.cpp:90: warning: ignoring return value of 'int dup(int)', declared 
with attribute warn_unused_result
pushback.cpp: In destructor 'pushBackBuffer::~pushBackBuffer()':
pushback.cpp:90: warning: ignoring return value of 'int dup(int)', declared 
with attribute warn_unused_result

visible on unhardened gcc-4.4 with PAGE=letter ./configure --prefix=/usr 
CPPFLAGS="-D_FORTIFY_SOURCE=2" && make

Patch is attached too if inline version is wrapped

Gilles

Index: src/preproc/html/pushback.cpp
===================================================================
RCS file: /sources/groff/groff/src/preproc/html/pushback.cpp,v
retrieving revision 1.8
diff -u -r1.8 pushback.cpp
--- src/preproc/html/pushback.cpp       5 Jan 2009 20:11:08 -0000       1.8
+++ src/preproc/html/pushback.cpp       2 Feb 2013 13:38:43 -0000
@@ -71,6 +71,9 @@
   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 @@
   }
   close(0);
   /* restore stdin in file descriptor 0 */
-  dup(stdIn);
+  if (dup(stdIn)<0) {
+    sys_fatal("restore stdin");
+  }
   close(stdIn);
 }
 
fix 
pushback.cpp: In destructor 'pushBackBuffer::~pushBackBuffer()':
pushback.cpp:90: warning: ignoring return value of 'int dup(int)', declared with attribute warn_unused_result
pushback.cpp: In destructor 'pushBackBuffer::~pushBackBuffer()':
pushback.cpp:90: warning: ignoring return value of 'int dup(int)', declared with attribute warn_unused_result
pushback.cpp: In destructor 'pushBackBuffer::~pushBackBuffer()':
pushback.cpp:90: warning: ignoring return value of 'int dup(int)', declared with attribute warn_unused_result

visible with CFLAGS="-O2" and PAGE=letter ./configure --prefix=/usr CPPFLAGS="-D_FORTIFY_SOURCE=2"

Index: src/preproc/html/pushback.cpp
===================================================================
RCS file: /sources/groff/groff/src/preproc/html/pushback.cpp,v
retrieving revision 1.8
diff -u -r1.8 pushback.cpp
--- src/preproc/html/pushback.cpp	5 Jan 2009 20:11:08 -0000	1.8
+++ src/preproc/html/pushback.cpp	2 Feb 2013 13:38:43 -0000
@@ -71,6 +71,9 @@
   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 @@
   }
   close(0);
   /* restore stdin in file descriptor 0 */
-  dup(stdIn);
+  if (dup(stdIn)<0) {
+    sys_fatal("restore stdin");
+  }
   close(stdIn);
 }
 
_______________________________________________
bug-groff mailing list
bug-groff@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-groff

Reply via email to