[Gmp-commit] /var/hg/gmp: mini-gmp: Fix undefined NULL pointer arithmetic in ...
mercurial at gmplib.org
mercurial at gmplib.org
Wed Aug 27 08:09:45 CEST 2025
details: /var/hg/gmp/rev/b06ade444025
changeset: 18487:b06ade444025
user: Niels Möller <nisse at lysator.liu.se>
date: Wed Aug 27 08:08:18 2025 +0200
description:
mini-gmp: Fix undefined NULL pointer arithmetic in mpz_import.
* mini-gmp/mini-gmp.c (mpz_import): Return early when count == 0, to avoid
undefined behavior with pointer arithmetic, if the corresponding
src pointer is NULL. Reported by Bruno Haible.
diffstat:
mini-gmp/ChangeLog | 6 ++++++
mini-gmp/mini-gmp.c | 5 +++++
2 files changed, 11 insertions(+), 0 deletions(-)
diffs (28 lines):
diff -r f1c983debf6c -r b06ade444025 mini-gmp/ChangeLog
--- a/mini-gmp/ChangeLog Thu Jun 19 09:27:33 2025 +0200
+++ b/mini-gmp/ChangeLog Wed Aug 27 08:08:18 2025 +0200
@@ -1,3 +1,9 @@
+2025-08-27 Niels Möller <nisse at lysator.liu.se>
+
+ * mini-gmp.c (mpz_import): Return early when count == 0, to avoid
+ undefined behavior with pointer arithmetic, if the corresponding
+ src pointer is NULL. Reported by Bruno Haible.
+
2025-06-19 Niels Möller <nisse at lysator.liu.se>
* tests/t-gcd.c (test_one): Fix memory leak.
diff -r f1c983debf6c -r b06ade444025 mini-gmp/mini-gmp.c
--- a/mini-gmp/mini-gmp.c Thu Jun 19 09:27:33 2025 +0200
+++ b/mini-gmp/mini-gmp.c Wed Aug 27 08:08:18 2025 +0200
@@ -4515,6 +4515,11 @@
assert (order == 1 || order == -1);
assert (endian >= -1 && endian <= 1);
+ if (count == 0)
+ {
+ r->_mp_size = 0;
+ return;
+ }
if (endian == 0)
endian = gmp_detect_endian ();
More information about the gmp-commit
mailing list