Просто интересно, потому что я не могу найти способ проверить это. Представьте себе сценарий, в котором у меня есть 10 байт памяти
Будет ли программа работать с ошибкой? Или просто закончите с тарабарской памятью?
Различается ли поведение от ac/c++ и программы cuda?
Это не утечка памяти, это переполнение буфера. И это приводит к неопределенному поведению, которое, скорее всего, даст вам странные проблемы (или даже сбои) во время выполнения.
Если вы не имеете в виду точку 2 буквально, как в
char *str = malloc(5);
str = "foobar";
Тогда у вас есть утечка памяти, а не переполнение буфера.
undefined behaviour
, я не знаю, верно ли то, что это приведет к buffer overflow
.
Неопределенное поведение для записи за пределами выделенной памяти.