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