From f98c434fc477555c050b2d6dfa6554ba68d465d3 Mon Sep 17 00:00:00 2001 From: Tomasz Sowa Date: Wed, 31 Jul 2019 07:21:10 +0000 Subject: [PATCH] updated CHANGELOG git-svn-id: svn://ttmath.org/publicrep/ttmath/trunk@1198 e52654a7-88a9-db11-a3e9-0013d4bc506e --- CHANGELOG | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index d3ec6e3..b9b0e75 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,17 @@ -Version 0.9.4prerelease (....): +Version 0.9.4_prerelease (....): + * fixed: cannot compile on MS Windows when compiling with GCC (Mingw) for 64 bit platform: + incorrect size of ttmath::uint and ::sint were used + they were 'long' but 'long' is a 32bit type on Windows + * fixed: a crash in Big::Add() (buffer overflow) + there was an offset calculated from Int type by using Abs() method and a carry was not checked + (if there is a carry we should not make addition -- the argument is too small) + this had no impact on calculated values because there was a crash (bus error) immediately + following program could crash (64bit): + typedef ttmath::Big<1, 8> MyBig; + ttmath::Parser parser; + parser.Parse("2^(2^63) + 1"); + * fixed: similar problems were in methods Big::BitAnd() Big::BitOr() and Big::BitXor() (bitwise operations) + and they could return incorrect values * fixed: in x86_64 asm code (*.asm for Win64) there was in some places esp register used, there should be rsp used instead this affects MS Windows users when they use the asm version (ttmathuint_x86_64_msvc.asm)