* Gerald Pfeifer: > 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.