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:
committed by
Paul Eggert
parent
2a092e80e2
commit
f4d339c934
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user