История изменений
Исправление mersinvald, (текущая версия) :
Что нового и лучшего придумал Rust чем выше приведенные варианты.
То, что если это не указатели на числа, а, например, что-то вроде
int free_n_array(size_t n, void* addr[])
который освобождает память в массиве NxM, а ты где-нибудь заменил одну строку на другую подменой указателя, то ты словишь double-free, например, или UB дальше по коду, зависит от компилятора.
То же самое с изменениями данных в таком массиве. Это приведет к поломке данных.
А теперь представь что эта подмена указателя происходит в ветке, которую добавил ваш джун. Тестов на нее нет, code review редко где делают добросоветно.
Но погодите, что это? Ой, уязвимость.
Исходная версия mersinvald, :
Что нового и лучшего придумал Rust чем выше приведенные варианты.
То, что если это не указатели на числа, а, например, что-то вроде
int free_n_array(size_t n, void* addr[])
который освобождает память в массиве NxM, а ты где-нибудь заменил одну строку на другую подменой указателя, то ты словишь double-free, например, или UB дальше по коду, зависит от компилятора.