Hi Jakub,

some folks in FreeBSD-land have worked to remove all uses of gets() 
and in fact the gets() function itself.

Generally GCC builds just fine in such an environment, except for
libssp where libssp/gets-chk.c has the following:

   char *
   __gets_chk (char *s, size_t slen)
   {
     char *ret, *buf;

     if (slen >= (size_t) INT_MAX)
==>    return gets (s);   <==

     if (slen <= 8192)
       buf = alloca (slen + 1);
     else
       buf = malloc (slen + 1);
     if (buf == NULL)
==>    return gets (s);   <==


Here gets() is used in two edge/error cases only.


What do you think of abort()ing on systems where gets() is not 
available, via a bit of autoconf magic?  Is this something you 
may be able to help with?

Gerald

PS: https://reviews.freebsd.org/D12298 has some background re FreeBSD.

Reply via email to