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
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-groff