[devel] [JT] scrollkeeper
Alexander Bokovoy
=?iso-8859-1?q?ab_=CE=C1_altlinux=2Eorg?=
Вт Июн 26 14:08:15 MSD 2007
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, что для
строк бессмысленно.
Так что код этот изначально был хрупкий, его надо в любом случае
переписывать.
--
/ Alexander Bokovoy
Samba Team http://www.samba.org/
ALT Linux Team http://www.altlinux.org/
Midgard Project Ry http://www.midgard-project.org/
Подробная информация о списке рассылки Devel