...
Replacing secure functions with less secure functions is a very risky practice because developers can be easily fooled into trusting the function to perform a security check that is absent. This may be a concern, for example, as developers attempt to adopt more secure functions, like the ISO/IEC TR 24731-1 functions that might not be available on all platforms. (See recommendation STR07-C. Use TR 24731 C11 Annex K bounds-checking interfaces for remediation of existing string manipulation code.)
...