Про баги в libtommath [FB3]
В FB3 затащили внешнюю библиотеку для работы с большими числами — libtommath. Затащили как есть. Только за это хочется взять черенок от лопаты…
Весной 2016-го, при переносе этой библиотеки в код IBProvider, была проведена её ревизия, нормализация кода и созданы тесты. Ошибок было найдено «больше одной штуки».
В начале декабре 2016-го, в процессе нагрузочного тестирования отладочной сборки, сработал ассерт в mp_div — обнаружилась ошибка с проверкой принадлежности индекса допустимому диапазону.
А сегодня в логе нагрузочного тестирования обнаружил запись:
... 1. [LCPI.IBProvider.3]: Ошибка вызова функции libtommath [set01] - mp_exptmod. Код ошибки: -3. ...
И тут уже, судя по всему, если и стоит ругаться, то только на себя. В сообщении об ошибке вызова mp_exptmode надо было указать значения аргументов 🙁
IBP_BigInteger IBP_BigInteger::modPow(const self_type& pow, const self_type& mod)const
{
self_type rc;
CHECK_MP_OP(mp_exptmod, (m_data.ptr(),
pow.m_data.ptr(),
mod.m_data.ptr(),
rc.m_data.ptr()));
return rc;
}//modPow
Вот кто бы подсказал это сразу …
hvlad on 10 марта, 2017
> Ошибок было найдено «больше одной штуки».
Сколько из них ты сообщил авторам ?