Bruce Dubbs wrote: > Matt Burgess wrote: >> It's as Andy Benton brought up. There's a fair number of packages, >> starting with chapter 5's diffutils, that still use or at least >> reference gets(), which has been removed from this version of Glibc.
> +Index: diffutils-3.2/lib/stdio.in.h > +=================================================================== > +--- diffutils-3.2.orig/lib/stdio.in.h 2011-08-28 04:57:28.000000000 > -0700 > ++++ diffutils-3.2/lib/stdio.in.h 2012-07-03 10:45:07.518322117 -0700 > +@@ -693,11 +693,13 @@ > + _GL_CXXALIAS_SYS (gets, char *, (char *s)); > + # undef gets > + # endif > ++# if defined gets > + _GL_CXXALIASWARN (gets); > + /* 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. */ > + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); > ++# endif > + #endif Seems to work. Next up is gettext: ======== Gentoo just deletes the line: --- a/gettext-tools/libgettextpo/stdio.in.h 14 +++ b/gettext-tools/libgettextpo/stdio.in.h 15 @@ -125,7 +125,6 @@ 16 so any use of gets warrants an unconditional warning. Assume it is 17 always declared, since it is required by C89. */ 18 #undef gets 19 -_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 20 21 #if @GNULIB_FOPEN@ 22 # if @REPLACE_FOPEN@ 23 --- a/gettext-tools/gnulib-lib/stdio.in.h 24 +++ b/gettext-tools/gnulib-lib/stdio.in.h 25 @@ -125,7 +125,6 @@ 26 so any use of gets warrants an unconditional warning. Assume it is 27 always declared, since it is required by C89. */ 28 #undef gets 29 -_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 30 31 #if @GNULIB_FOPEN@ 32 # if @REPLACE_FOPEN@ 33 --- a/gettext-runtime/gnulib-lib/stdio.in.h 34 +++ b/gettext-runtime/gnulib-lib/stdio.in.h 35 @@ -125,7 +125,6 @@ 36 so any use of gets warrants an unconditional warning. Assume it is 37 always declared, since it is required by C89. */ 38 #undef gets 39 -_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 40 41 #if @GNULIB_FOPEN@ 42 # if @REPLACE_FOPEN@ I just ran a sed: sed -i -e '/gets is a/d' gettext-tools/libgettextpo/stdio.in.h \ gettext-tools/gnulib-lib/stdio.in.h \ gettext-runtime/gnulib-lib/stdio.in.h Could probably get by with: sed -i -e '/gets is a/d' gettext-*/*/stdio.in.h ====== m4 now breaks: sed -i -e '/gets is a/d' lib/stdio.in.h ====== tar: sed -i -e '/gets is a/d' gnu/stdio.in.h ====== On to Chapter 6. I'm sure the same packages will need the same fixes, but there may be some new ones too. -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page