"One example he cites is the use of strcpy() in Tizen."
A to jsme, prosim pekne, v roce 2017.
strncpy a strlcpy nejsou o nic bezpečnější než strcpy, nanejvýš jejich použitím dá programátor explicitně najevo, že (snad) myslel na kapacitu výstupního bufferu. Tahle paranoia z použití strcpy nejspíš vznikla, když v C začali zkoušet psát lidi, kteří do té doby viděli jen PHP nebo Javu.
Fakt by mě zajímalo, za co jsou ty minusy. Kdo neví, jak použít strcpy bezpečným způsobem, ten podle mě není v programování v C ani na úrovni juniora a neměl by vůbec psát produkční kód. Navíc takový člověk nejspíš netuší ani to, jak použít bezpečně strncpy/strlcpy, se kterými spáchám buffer overflow stejně snadno jako se strcpy. Ad absurdum můžou v Samsungu během pár minut přepsat všechna volání strcpy(dst, src)
na strncpy(dst, src, strlen(src) + 1)
a auditor si spokojeně odškrtne ten bod jako vyřešený, protože se mu ze statistiky vytratí všechna ta "zlá" volání.