On Sun, 5 Aug 2018, Florian Weimer wrote:
>> 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?
> If the system doesn't have gets, you will not need __gets_chk, either.

Thanks, Florian, makes sense.

Jakub, any chance you can have a look?  (I had, and my configure
foo isn't strong enough.)

Gerald

Reply via email to