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@