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

Andrey Rahmatullin wrar at altlinux.ru
Tue Jul 14 21:22:41 MSD 2009


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
использовать (непереносимо).


-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(6):

> Я например самым лучшим конфигуратором считаю VI (привычка от БСД).
Плохой и неудобный конфигуратор -- в отличие от vim. :)        
		-- mike in community@
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20090714/b0f604fe/attachment.bin>


More information about the Devel mailing list