[devel] dvblast-2.2-alt4: Sisyphus/x86_64 test rebuild failed
Ivan A. Melnikov
iv на altlinux.org
Вт Окт 2 10:16:08 MSK 2012
Посмотрел на код. По-моему, как-то так:
On Tue, 2 Oct 2012 14:13:46 +0900 (IRKT)
Alexei Takaseev <alexei на taf.ru> wrote:
[...]
> > inlined from 'TPDUSend.constprop.35' at en50221.c:318:19,
Тут выделяется буфер размером MAX_TPDU_SIZE (4096) байт, затем туда
пишется заголовок (3 каких-то байта, хитро закодированная длинна
данных i_lenght, ещё один байт) и данные размером i_length.
> > inlined from 'SPDUSend' at en50221.c:500:26:
Тут в ту функцию выше передаются данные размером MAX_TPDU_DATA (4096
- 4) байт.
> > /usr/include/bits/string3.h:51:3: error: call to
> > __builtin___memcpy_chk will always overflow destination buffer
Тут компилятор справедливо замечает, что
3 + (длина поля size) + 1 + (4096 - 4) > 4096
на размер хитро закодированной длины (в нашем случае 3 байта).
> > make: *** [en50221.o] Error 1
> > make: Leaving directory `/usr/src/RPM/BUILD/dvblast-2.2'
> > error: Bad exit status from /usr/src/tmp/rpm-tmp.33481 (%build)
>
> Подскажите, пожалуйста, куда копать в данном случае? На i586 сборка
> проходит нормально.
Нужно знать особенности формата. Можно рискнуть уменьшить MAX_TPDU_DATA
ещё на 3 (откомпилироваться помогает), но не знаю, поймут ли это те, кто
эти данные читает.
--
WBR,
Ivan A. Melnikov
Подробная информация о списке рассылки Devel