Yukihiro "Matz" Matsumoto
29b3405283
bigint.c: handle in-place operation in mpz_mod_2exp()
...
when mpz_mod_2exp() is called with z == x (in-place operation), the
function was calling mpz_clear(ctx, z) which freed x's memory, then
attempting to access x->p[i] - reading freed memory. this caused
Barrett reduction to produce incorrect results in modular
exponentiation.
the fix checks if z == x and handles in-place modification by
adjusting the size and masking directly, without clearing. this is
similar to the memory leak fix for pool→heap transitions.
Co-authored-by: Claude <noreply@anthropic.com >
2025-12-01 18:20:44 +09:00
..
2025-10-16 09:59:03 +09:00
2025-10-16 09:59:03 +09:00
2025-10-16 09:59:03 +09:00
2025-10-16 09:59:03 +09:00
2025-10-16 16:54:25 +09:00
2025-10-20 08:11:59 +09:00
2025-10-25 21:05:39 +09:00
2025-10-16 17:02:23 +09:00
2025-12-01 18:20:42 +09:00
2025-12-01 18:20:44 +09:00
2024-06-09 22:49:46 +09:00
2025-11-16 06:53:02 +09:00
2025-11-16 06:53:02 +09:00
2025-11-08 14:29:06 +09:00
2025-11-16 06:53:02 +09:00
2025-05-14 01:14:02 +10:00
2025-11-12 10:25:36 +09:00
2025-08-14 10:52:47 +09:00
2025-10-14 08:22:41 +09:00
2025-10-08 23:55:23 +09:00
2025-08-14 10:52:49 +09:00
2025-11-20 14:08:21 +09:00
2025-08-21 21:49:45 +09:00
2025-08-14 10:52:49 +09:00
2025-11-08 14:27:44 +09:00
2025-07-15 11:54:12 +09:00
2025-08-14 10:52:45 +09:00
2025-08-14 10:52:49 +09:00
2025-08-14 10:52:46 +09:00
2025-08-14 10:52:49 +09:00
2025-10-27 07:59:20 +09:00
2025-11-08 14:26:49 +09:00
2025-10-27 07:45:40 +09:00
2025-08-14 10:52:49 +09:00
2025-10-18 23:34:10 +09:00
2025-10-26 23:52:20 +09:00
2025-11-12 10:25:36 +09:00
2025-11-12 10:25:37 +09:00
2025-10-26 23:30:14 +09:00
2025-11-29 01:46:54 +10:00
2025-08-14 10:52:46 +09:00
2025-08-14 10:53:12 +09:00
2025-08-14 10:52:49 +09:00
2025-08-14 10:52:49 +09:00
2025-06-24 13:56:07 +09:00
2025-11-19 15:34:32 +09:00
2025-11-08 14:24:40 +09:00
2025-10-26 20:33:06 +09:00
2025-11-29 01:46:54 +10:00
2025-11-29 01:46:54 +10:00
2025-08-14 10:52:45 +09:00
2025-11-17 20:08:57 +09:00
2025-10-26 20:01:30 +09:00
2025-11-12 10:25:36 +09:00
2025-11-08 14:24:12 +09:00
2025-10-26 19:16:12 +09:00
2025-11-08 14:23:41 +09:00
2025-11-12 10:25:37 +09:00
2025-08-14 10:52:49 +09:00
2025-11-08 14:14:44 +09:00
2025-11-16 06:53:02 +09:00
2024-09-24 00:14:24 +10:00
2025-12-01 18:20:44 +09:00
2025-08-14 10:52:47 +09:00
2021-01-06 18:10:21 +09:00
2021-01-06 18:10:21 +09:00
2023-04-04 19:31:42 +10:00
2025-10-08 23:55:21 +09:00
2025-05-14 15:58:23 +09:00
2025-05-14 15:58:24 +09:00
2022-11-29 15:58:05 +09:00
2025-01-06 13:57:23 +09:00
2025-05-19 08:00:36 +09:00