LINUX.ORG.RU

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

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

Было

char buff[10];
some_func(1, buff, 2);

Станет

char buff[10];

void *pStart = &buff[0]; // это делает компилятор сам
void *pEnd = &buff[10];

some_func(1, buff, pStart, pEnd, 2);

pStart, pEnd передаются не через обычный стек, а через отдельный, что бы не ломать ABI.

Исправление MOPKOBKA, :

Было

char buff[10];
some_func(1, buff, 2);

Станет

char buff[10];

void *pStart = &buff[0]; // это делает компилятор сам
void *pEnd = &buff[10];

some_func(1, buff, pStart, pEnd, 2);

Исправление MOPKOBKA, :

Было

char buff[10];
some_func(1, buff, 2);

Станет

char buff[10];
void *pStart = &buff[0]; // этого в коде не будет
void *pEnd = &buff[10];
some_func(1, buff, pStart, pEnd, 2);

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

Было

char buff[10];
some_func(buff);

Станет

char buff[10];
void *pStart = &buff[0];
void *pEnd = &buff[10];
some_func(buff, pStart, pEnd);