[Homeros] I: voiceman-1.5.0.3
Michael Pozhidaev
msp на altlinux.ru
Вс Фев 17 13:40:00 MSK 2013
Да, бага подтверждается, и патч принят, спасибо! Подождём некоторое
время и, если не появится других поправок, выложим .4. До того момента
версию из git стоит считать предпочтительней.
> А я как раз нашёл ещё один баг. Проявляется при побуквенном чтении
> текста, выделенного высоким голосом (ap 250 или выше). На заглавных
> буквах voiceman подвисает. Как оказалось, TextParam не был защищён от
> переполнения. Точнее, защита была от переполнения size_t.
> Патч во вложении.
>
> --
> Дмитрий Падучих
>
> From 1c33109db02a227074fbd3a56304e58d38c1edaf Mon Sep 17 00:00:00 2001
> From: Dmitri Paduchikh <dpaduchikh на gmail.com>
> Date: Sun, 17 Feb 2013 14:08:57 +0600
> Subject: [PATCH] Fix overflow in TextParam.
>
> ---
> daemon/core/TextParam.cpp | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/daemon/core/TextParam.cpp b/daemon/core/TextParam.cpp
> index 0abf57e..b1ee400 100644
> --- a/daemon/core/TextParam.cpp
> +++ b/daemon/core/TextParam.cpp
> @@ -53,10 +53,10 @@ double TextParam::getValue(double min, double aver, double max) const
>
> const TextParam& TextParam::operator +=(size_t step)
> {
> - const size_t oldValue = m_value;
> - m_value += step;
> - if (m_value < oldValue)
> + if (step >= 100 || m_value + step >= 100)
> m_value = 100;
> + else
> + m_value += step;
> return *this;
> }
--
Michael Pozhidaev. Tomsk, Russia.
Russian info page: http://www.marigostra.ru/
Подробная информация о списке рассылки Homeros