Предупреждение / ошибка компилятора для переполнения буфера в объекте dest с memcpy - PullRequest
0 голосов
/ 11 апреля 2019

при копировании данных из константной строки в массив - (-> который является членом структуры) с использованием memcopy, ошибка выброса компилятором для переполнения буфера в объекте dest

Спасибо за знания.

#define LEN 9
typedef struct buff_ {
....
..
char bowl[LEN];
}buff;
buff *dest= NULL;
dest= malloc......();// This is allocated properly
'
'
'
memcpy(dest->bowl,"y",LEN); //compiler throwing error here:buffer overflow


Не должно быть никаких ошибок, так как я копирую строку в буфер (dest), LEN которого больше src.

1 Ответ

2 голосов
/ 11 апреля 2019

Попробуйте использовать, это ограничит LEN или фактическую длину строки, в зависимости от того, что меньше:

strncpy(dest->bowl,"y",LEN);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...