From: Bruno Haible Date: Tue, 12 Aug 2025 00:25:41 +0000 (+0200) Subject: basenc: Don't trigger undefined behaviour in mini-gmp X-Git-Tag: v9.8~110 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f4d339c934a4e737e98cb0e29cc266b790ed1f77;p=thirdparty%2Fcoreutils.git basenc: Don't trigger undefined behaviour in mini-gmp * src/basenc.c (base58_encode): Avoid calling mpz_import on an empty limb sequence. --- diff --git a/src/basenc.c b/src/basenc.c index dbe3b388f3..84789e2de9 100644 --- a/src/basenc.c +++ b/src/basenc.c @@ -1175,10 +1175,12 @@ base58_encode (char const* data, size_t data_len, /* Use GMP to convert from base 256 to base 58. */ mpz_t num; mpz_init (num); - mpz_import (num, data_len - zeros, 1, 1, 0, 0, data + zeros); if (data_len - zeros) - for (p = mpz_get_str (p, 58, num); *p; p++) - *p = gmp_to_base58[to_uchar (*p)]; + { + mpz_import (num, data_len - zeros, 1, 1, 0, 0, data + zeros); + for (p = mpz_get_str (p, 58, num); *p; p++) + *p = gmp_to_base58[to_uchar (*p)]; + } mpz_clear (num); *outlen = p - out;