[devel] memcpy глючит (или я не умею его готовить)

Paul Wolneykien manowar на altlinux.org
Чт Фев 21 16:28:53 MSK 2019


21.02.2019 16:22, Vladimir Didenko пишет:
> чт, 21 февр. 2019 г. в 16:17, Paul Wolneykien:
>>
>>
>>   Коллеги, прошу помощи разбором одной проблемы. Предполагаю, что это
>> какая-то очевидная ошибка: то ли я действительно не умею готовить
>> memcpy(), то ли где-то в программе есть ошибки при работе с памятью,
>> которые влияют косвенно (может в данном случае такое быть?).
>>
>>   Итак, у меня есть вот такой код¹
>>
>>> 1460 if (_data.size % 2 && _data.data[8] == 0x04) {
>>> 1461     // Uncompressed point (the first 8 bytes is the UKM)
>>> 1462     memcpy (_data.data + 8, _data.data + 9, _data.size - 9);
>>> 1463     _data.size--;
>>> 1464 }
>>
> 
> У вас участки памяти источника и приемника перекрываются, а это
> неопределенное поведение. Вам memove() нужен.

  Как интересно. Спасибо!


Подробная информация о списке рассылки Devel