changeset 3119:cc8bf1ca8fb2

fix gnulib gets bug in libiconv
author John W. Eaton <jwe@octave.org>
date Wed, 03 Jul 2013 08:23:06 -0400
parents 84398e39804c
children 095898417026
files dist-files.mk src/libiconv-1-fix.patch
diffstat 2 files changed, 29 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/dist-files.mk	Wed Jul 03 08:23:05 2013 -0400
+++ b/dist-files.mk	Wed Jul 03 08:23:06 2013 -0400
@@ -205,6 +205,7 @@
   libiberty.mk \
   libical-test.c \
   libical.mk \
+  libiconv-1-fix.patch \
   libiconv.mk \
   libidn-1-fixes.patch \
   libidn-test.c \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libiconv-1-fix.patch	Wed Jul 03 08:23:06 2013 -0400
@@ -0,0 +1,28 @@
+diff -uNr a/srclib/stdio.in.h b/srclib/stdio.in.h
+--- a/srclib/stdio.in.h	2011-08-07 09:42:06.000000000 -0400
++++ b/srclib/stdio.in.h	2013-07-01 18:48:58.875038466 -0400
+@@ -679,22 +679,11 @@
+ # endif
+ #endif
+ 
+-#if @GNULIB_GETS@
+-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef gets
+-#   define gets rpl_gets
+-#  endif
+-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
+-_GL_CXXALIAS_RPL (gets, char *, (char *s));
+-# else
+-_GL_CXXALIAS_SYS (gets, char *, (char *s));
+-#  undef gets
+-# endif
+-_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.  */
++#undef gets
++#if HAVE_RAW_DECL_GETS
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
+