[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