[devel] I: gcc4.4-4.4.0-alt4

Eugene Prokopiev enp at altlinux.org
Wed Jul 15 08:57:06 MSD 2009


14 июля 2009 г. 21:22 пользователь Andrey Rahmatullin
(wrar at altlinux.ru) написал:
> On Tue, Jul 14, 2009 at 11:34:55AM +0400, Eugene Prokopiev wrote:
>> с благодарностью приму патч для callweaver :)
> channels/chan_sip.c
> В 1922 в поле struct sip_pvt::via пишется snprintf'ом строка максимальной
> длины SIP_MAX_LINE_LEN. При этом struct sip_pvt::via в 811 объявлен
> размером 256, а SIP_MAX_LINE_LEN в 572 равен 1024. Я не знаю, что с этим
> делать, пишите в апстрим. Допустимые для подобного кода решения (не
> вдаваясь в то, что код делает) могут быть расширение поля (это ломает
> ABI), уменьшение используемой константы (может быть некорректно, если эта
> константа используется при записи в более длинные буферы) или
> использование другой константы.
>
> res/res_sqlite.c
> В 417 в буфер sqlbuf длиной 1024 пишутся strncat'ом строки длиной 1024+1
> (sic! завершающий \0 в третьем параметре strncat не учитывается, потому
> там должно быть 1023).
> В 418 туда же дописывается ещё 1024+1 байта, и это вообще неправильно, т.к.
> третий параметр указывает, сколько писать ещё, а не сколько должно
> получиться. Надо писать 1024-strlen(sqlbuf) плюс/минус 1, ну или strlcat
> использовать (непереносимо).

Спасибо, пойду в апстрим

-- 
С уважением,
Прокопьев Евгений


More information about the Devel mailing list