During Paul Vixie's vBSDcon 2017 talk.
Unit Tests Skipped
leave gets in old symver
gets is unsafe and shouldn't be used (for many years). Leave it in the
existing symbol version so anything that previously linked aginst it
still runs, but do not allow new software to link against it.
I take it an exp-run will be done, or has already been done? There's surely some old software in ports that uses this function. :)
I'm not sure if this should be unconditional. If somebody insists on using C++11 or earlier, gets should be available, even if it is unwise to use. (The same could be said for e.g. strcpy and the like.)
If it is conditional on the C++ version, this change could also be upstreamed.
exp-run is PR222796.
Well, in this review we've explicitly made gets unavailable, regardless of what ISO C or POSIX say, and the same argument applies to C++.
This gets() test case won't link unless I can access the actual symbol. Is there another way to explicitly call gets@FBSD1.0? I thought about just dropping the test case altogether, but it seems reasonable to keep it.