Size: a a a

2020 July 24

🦊

🦊fox.cpp in C++ Together 2.0
что делает всё ещё интереснее
источник

f&

fox.py &>/dev... in C++ Together 2.0
🦊fox.cpp
malloc(3) обещает вернуть NULL при malloc(0)
что
источник

f&

fox.py &>/dev... in C++ Together 2.0
почему
источник

🦊

🦊fox.cpp in C++ Together 2.0
а, стоп
источник

f&

fox.py &>/dev... in C++ Together 2.0
realloc может?
источник

🦊

🦊fox.cpp in C++ Together 2.0
If size is 0, then malloc() returns either NULL, or a unique pointer value  that  can  later  be successfully passed to free().
источник

f&

fox.py &>/dev... in C++ Together 2.0
это бы еще имело смысл
источник

🦊

🦊fox.cpp in C++ Together 2.0
да. я просто по ману грепнул, а он у них общий
источник

f&

fox.py &>/dev... in C++ Together 2.0
хы
источник

f&

fox.py &>/dev... in C++ Together 2.0
🦊fox.cpp
If size is 0, then malloc() returns either NULL, or a unique pointer value  that  can  later  be successfully passed to free().
то есть это не UB
источник

f&

fox.py &>/dev... in C++ Together 2.0
окей
источник

🦊

🦊fox.cpp in C++ Together 2.0
ну, это malloc(3), malloc(3P) молчит на size==0
источник

🦊

🦊fox.cpp in C++ Together 2.0
unspecified behavior это
источник

🦊

🦊fox.cpp in C++ Together 2.0
согласно POSIX
источник

f&

fox.py &>/dev... in C++ Together 2.0
но realloc(malloc(0), x), где x > 0, сломается к чертям, если malloc(0) вернет NULL, верно?
источник

f&

fox.py &>/dev... in C++ Together 2.0
🦊fox.cpp
ну, это malloc(3), malloc(3P) молчит на size==0
ля, ты не про аргументы)
источник

f&

fox.py &>/dev... in C++ Together 2.0
а про секцию
источник

f&

fox.py &>/dev... in C++ Together 2.0
источник

🦊

🦊fox.cpp in C++ Together 2.0
аа, слепой дважды
источник

🦊

🦊fox.cpp in C++ Together 2.0
malloc(3P) тоже самое говорит, но в другом месте мана
источник