LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

Было до С23

if new_size is zero, the behavior is implementation defined (null pointer may be returned (in which case the old memory block may or may not be freed), or some non-null pointer may be returned that may not be used to access storage). Such usage is deprecated

Стало в C23

if new_size is zero, the behavior is undefined. 

Так что и раньше было и deprecated и implementation defined.

https://open-std.org/JTC1/SC22/WG14/www/docs/n2396.htm#dr_400

Исходная версия fsb4000, :

Было до С23

if new_size is zero, the behavior is implementation defined (null pointer may be returned (in which case the old memory block may or may not be freed), or some non-null pointer may be returned that may not be used to access storage). Such usage is deprecated

Стало в C23

if new_size is zero, the behavior is undefined. 

Так что и раньше было и deprecated и implementation defined.