Am 06.07.2012 18:13, schrieb Stefan Husmann:
Hello,

under a recent Arch Linux, which comes with gcc 4.7.1, I get an error:

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../src -march=x86-64 
-mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 
-D_FORTIFY_SOURCE=2 -MT fopen-safer.lo -MD -MP -MF .deps/fopen-safer.Tpo -c 
fopen-safer.c  -fPIC -DPIC -o .libs/fopen-safer.o
In file included from stdio-safer.h:20:0,
                  from fopen-safer.c:22:
./stdio.h:1010:1: error: 'gets' undeclared here (not in a function)
make[3]: *** [fopen-safer.lo] Error 1
make[3]: Leaving directory 
`/home/haawda/paketierung/maintained_by_me/gnupdf-bzr/src/gnupdf-build/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory 
`/home/haawda/paketierung/maintained_by_me/gnupdf-bzr/src/gnupdf-build/lib'
make[1]: *** [all] Error 2
make[1]: Leaving directory 
`/home/haawda/paketierung/maintained_by_me/gnupdf-bzr/src/gnupdf-build/lib'
make: *** [all-recursive] Fehler 1
==> FEHLER: Ein Fehler geschah in build().

How is this fixable?

Best Regards Stefan



Hello,

the attached patch fixes this for me.

A similar issue in GNU coreutils and the discussion regarding this can be found 
here:
http://comments.gmane.org/gmane.comp.gnu.coreutils.general/2525

Best Regards Stefan
diff -Naur gnupdf/lib/stdio.in.h gnupdf.new/lib/stdio.in.h
--- gnupdf/lib/stdio.in.h	2012-07-06 17:27:54.000000000 +0200
+++ gnupdf.new/lib/stdio.in.h	2012-10-12 18:13:54.000000000 +0200
@@ -695,8 +695,10 @@
 /* It is very rare that the developer ever has full control of stdin,
    so any use of gets warrants an unconditional warning.  Assume it is
    always declared, since it is required by C89.  */
+#if HAVE_RAW_DECL_GETS    
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
 #endif
+#endif
 
 
 #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@

Reply via email to