[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gets() issue
From: |
matimatik |
Subject: |
Re: gets() issue |
Date: |
Tue, 20 Nov 2012 08:41:44 +0900 |
On Mon, 19 Nov 2012 14:29:56 -0800
Paul Eggert <address@hidden> wrote:
> It appears that the problem is that
> HAVE_RAW_DECL_GETS is defined, but 'gets' is
> not actually being declared.
Sorry for disgusting, I just found that inetutils-1.9.1 actually has old
gnulib headers. This is actual stdio.in.h fragment from source tree:
#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. */
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
So I guess I should test fresh SCM sources before trying anything else.
Re: gets() issue, Eric Blake, 2012/11/19