From 9710c203220c73d9f3e1b604604157f76b1a821e Mon Sep 17 00:00:00 2001 From: Collin Funk Date: Tue, 7 May 2024 21:47:17 -0700 Subject: [PATCH] base32, base64: Prefer stdckdint to intprops. * lib/base32.c (base32_encode_alloc): Include stdckdint.h. Prefer ckd_mul to INT_MULTIPLY_OK. * lib/base64.c (base64_encode_alloc): Likewise. * modules/base32 (Depends-on): Add stdckdint. * modules/base64 (Depends-on): Likewise. --- ChangeLog | 9 +++++++++ lib/base32.c | 4 ++-- lib/base64.c | 4 ++-- modules/base32 | 1 + modules/base64 | 1 + 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index b752fde065..41a8ef7eb6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2024-05-07 Collin Funk + + base32, base64: Prefer stdckdint to intprops. + * lib/base32.c (base32_encode_alloc): Include stdckdint.h. Prefer + ckd_mul to INT_MULTIPLY_OK. + * lib/base64.c (base64_encode_alloc): Likewise. + * modules/base32 (Depends-on): Add stdckdint. + * modules/base64 (Depends-on): Likewise. + 2024-05-07 Collin Funk gnulib-tool.py: Handle module dependencies that cannot be found. diff --git a/lib/base32.c b/lib/base32.c index 270c505e20..266b32e14c 100644 --- a/lib/base32.c +++ b/lib/base32.c @@ -46,7 +46,7 @@ /* Get imalloc. */ #include -#include +#include #include @@ -143,7 +143,7 @@ base32_encode_alloc (const char *in, idx_t inlen, char **out) Treat negative INLEN as overflow, for better compatibility with pre-2021-08-27 API, which used size_t. */ idx_t in_over_5 = inlen / 5 + (inlen % 5 != 0), outlen; - if (! INT_MULTIPLY_OK (in_over_5, 8, &outlen) || inlen < 0) + if (ckd_mul (&outlen, in_over_5, 8) || inlen < 0) { *out = NULL; return 0; diff --git a/lib/base64.c b/lib/base64.c index c8b3b76b0b..26c08e583b 100644 --- a/lib/base64.c +++ b/lib/base64.c @@ -48,7 +48,7 @@ /* Get imalloc. */ #include -#include +#include #include @@ -148,7 +148,7 @@ base64_encode_alloc (const char *in, idx_t inlen, char **out) Treat negative INLEN as overflow, for better compatibility with pre-2021-08-27 API, which used size_t. */ idx_t in_over_3 = inlen / 3 + (inlen % 3 != 0), outlen; - if (! INT_MULTIPLY_OK (in_over_3, 4, &outlen) || inlen < 0) + if (ckd_mul (&outlen, in_over_3, 4) || inlen < 0) { *out = NULL; return 0; diff --git a/modules/base32 b/modules/base32 index 85cbeeb8a8..534e2ac5ef 100644 --- a/modules/base32 +++ b/modules/base32 @@ -11,6 +11,7 @@ extern-inline ialloc stdbool memchr +stdckdint configure.ac: gl_FUNC_BASE32 diff --git a/modules/base64 b/modules/base64 index 8956c44af8..99f3eb8700 100644 --- a/modules/base64 +++ b/modules/base64 @@ -11,6 +11,7 @@ extern-inline ialloc stdbool memchr +stdckdint configure.ac: gl_FUNC_BASE64 -- 2.45.0