[devel] I: gcc 6.3.1 && binutils 2.27.0
Alexey Tourbin
alexey.tourbin на gmail.com
Ср Янв 25 09:40:14 MSK 2017
2017-01-16 14:48 GMT+03:00 Dmitry V. Levin <ldv на altlinux.org>:
> Hi,
>
> On Mon, Jan 16, 2017 at 01:22:24AM +0300, Alexey Tourbin wrote:
> [...]
>> Ну например, из очень старого кода, который оказывается и не я
>> написал, а он мне снится по ночам:
>>
>> /* XXX diff may overflow short int */
>> char buf[3] = { (char) 0x80, (char) (diff >> 8),
>> (char) diff };
>>
>> http://git.altlinux.org/people/at/packages/slocate.git?p=slocate.git;a=commitdiff;h=82eb736e
>>
>> Насколько легальна здесь инициализация buf[0] = (char) 0x80? Это уже вышка?
>
> Что же это получается, may overflow, стало быть, вас не беспокоит,
> а (char) 0x80 беспокоит?
На практике diff = lcp(path0,path1) - lcp(path1,path2), где lcp -
общий префикс, ограничивается сверху и снизу значением PATH_MAX =
4096. То есть это немного разные виды беспокойств.
Подробная информация о списке рассылки Devel