1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-19 18:26:32 +02:00

basenc: Don't trigger undefined behaviour in mini-gmp

* src/basenc.c (base58_encode): Avoid calling mpz_import on an empty
limb sequence.
This commit is contained in:
Bruno Haible
2025-08-12 02:25:41 +02:00
committed by Paul Eggert
parent 2a092e80e2
commit f4d339c934

View File

@@ -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;