[devel] scrollkeeper is broken

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вт Июн 26 14:15:49 MSD 2007


On Tue, Jun 26, 2007 at 02:08:15PM +0400, Alexander Bokovoy wrote:
> Alexey Rusakov пишет:
> > On Tue, 26 Jun 2007 12:32:04 +0400, Epiphanov Sergei wrote:
> >> В сообщении от Monday 25 June 2007 20:50:46 Aleksey Novodvorsky написал(а):
> >>>> Ах вот откуда появлялся этот несчастный /scrollkeeper. Жуть какая, и
> >>>> ведь исходники не трогались между старой-старой и новой сборками. Ничего
> >>>> не понимаю.
> >>> Там с prefix ничего по дороге не случилось?
> >> Нет, в create_database_directory есть вызов команды на создание 
> >> каталога /var/lib/scrollkeeper (sk_mkdir_with_parents). Так вот, в данной 
> >> функции есть разбор нужного пути по токенам с последующей сборкой из них 
> >> частичных путей. Так вот, вызов вида:
> >>
> >> sprintf(path, "%s%s", path, token);
> Такого рода операции имеют неопределенный результат в C (i += (i++) +
> (i++) из их числа), если только path не объявлена как volatile, что для
> строк бессмысленно.
> 
> Так что код этот изначально был хрупкий, его надо в любом случае
> переписывать.

Этот код окончательно развалился после пересборки пакета
scrollkeeper-0.3.14-alt3 в текущей среде
(gcc + stack protector + glibc + fortify_source).


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070626/49b73ab1/attachment-0001.bin>


Подробная информация о списке рассылки Devel