Files
mruby-mruby/mrbgems
Yukihiro "Matz" Matsumoto 334e242cbf mruby-bigint: fix in-place aliasing bug in mpn_divexact_3
The mpn_divexact_3 function used ap[i] in the borrow computation after
writing to rp[i]. When rp == ap (in-place operation), this read the
modified value instead of the original input, causing incorrect borrow
propagation.

This bug caused Toom-3 multiplication to produce wrong results for
certain input patterns where t6 - t5 had non-zero values followed by
zeros. The corrupted r3 coefficient then propagated errors to the final
result.

Fix by saving the original ap[i] value before writing rp[i].

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-15 09:20:15 +09:00
..
2025-10-25 21:05:39 +09:00
2024-09-24 00:14:24 +10:00