← Commit list

bbb929112b

Stefan Eissing
Stefan Eissing
2025-11-27
SUCCESS Duration: 147s

Subject

curlx_base64_encode: use uint8_t* for input

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/curl_sasl.c+1 -1
@@ -267,7 +267,7 @@ static CURLcode build_message(struct SASL *sasl, struct bufref *msg)
char *base64;
size_t base64len;
- result = curlx_base64_encode((const char *) Curl_bufref_ptr(msg),
+ result = curlx_base64_encode(Curl_bufref_ptr(msg),
Curl_bufref_len(msg), &base64, &base64len);
if(!result)
Curl_bufref_set(msg, base64, base64len, curl_free);
lib/curlx/base64.c+5 -5
@@ -66,7 +66,7 @@ static const unsigned char decodetable[] =
* @unittest: 1302
*/
CURLcode curlx_base64_decode(const char *src,
- unsigned char **outptr, size_t *outlen)
+ uint8_t **outptr, size_t *outlen)
{
size_t srclen = 0;
size_t padding = 0;
@@ -170,8 +170,8 @@ bad:
}
static CURLcode base64_encode(const char *table64,
- unsigned char padbyte,
- const char *inputbuff, size_t insize,
+ uint8_t padbyte,
+ const uint8_t *inputbuff, size_t insize,
char **outptr, size_t *outlen)
{
char *output;
@@ -245,7 +245,7 @@ static CURLcode base64_encode(const char *table64,
*
* @unittest: 1302
*/
-CURLcode curlx_base64_encode(const char *inputbuff, size_t insize,
+CURLcode curlx_base64_encode(const uint8_t *inputbuff, size_t insize,
char **outptr, size_t *outlen)
{
return base64_encode(Curl_base64encdec, '=',
@@ -267,7 +267,7 @@ CURLcode curlx_base64_encode(const char *inputbuff, size_t insize,
*
* @unittest: 1302
*/
-CURLcode curlx_base64url_encode(const char *inputbuff, size_t insize,
+CURLcode curlx_base64url_encode(const uint8_t *inputbuff, size_t insize,
char **outptr, size_t *outlen)
{
return base64_encode(base64url, 0, inputbuff, insize, outptr, outlen);
lib/curlx/base64.h+3 -3
@@ -24,12 +24,12 @@
*
***************************************************************************/
-CURLcode curlx_base64_encode(const char *inputbuff, size_t insize,
+CURLcode curlx_base64_encode(const uint8_t *inputbuff, size_t insize,
char **outptr, size_t *outlen);
-CURLcode curlx_base64url_encode(const char *inputbuff, size_t insize,
+CURLcode curlx_base64url_encode(const uint8_t *inputbuff, size_t insize,
char **outptr, size_t *outlen);
CURLcode curlx_base64_decode(const char *src,
- unsigned char **outptr, size_t *outlen);
+ uint8_t **outptr, size_t *outlen);
extern const char Curl_base64encdec[];
lib/http.c+2 -1
@@ -367,7 +367,8 @@ static CURLcode http_output_basic(struct Curl_easy *data, bool proxy)
if(!out)
return CURLE_OUT_OF_MEMORY;
- result = curlx_base64_encode(out, strlen(out), &authorization, &size);
+ result = curlx_base64_encode((uint8_t *)out, strlen(out),
+ &authorization, &size);
if(result)
goto fail;
lib/http2.c+1 -2
@@ -1847,8 +1847,7 @@ CURLcode Curl_http2_request_upgrade(struct dynbuf *req,
return CURLE_FAILED_INIT;
}
- result = curlx_base64url_encode((const char *)binsettings, binlen,
- &base64, &blen);
+ result = curlx_base64url_encode(binsettings, binlen, &base64, &blen);
if(result) {
curlx_dyn_free(req);
return result;
lib/http_ntlm.c+2 -2
@@ -205,7 +205,7 @@ CURLcode Curl_output_ntlm(struct Curl_easy *data, bool proxy)
hostname, ntlm, &ntlmmsg);
if(!result) {
DEBUGASSERT(Curl_bufref_len(&ntlmmsg) != 0);
- result = curlx_base64_encode((const char *) Curl_bufref_ptr(&ntlmmsg),
+ result = curlx_base64_encode(Curl_bufref_ptr(&ntlmmsg),
Curl_bufref_len(&ntlmmsg), &base64, &len);
if(!result) {
free(*allocuserpwd);
@@ -224,7 +224,7 @@ CURLcode Curl_output_ntlm(struct Curl_easy *data, bool proxy)
result = Curl_auth_create_ntlm_type3_message(data, userp, passwdp,
ntlm, &ntlmmsg);
if(!result && Curl_bufref_len(&ntlmmsg)) {
- result = curlx_base64_encode((const char *) Curl_bufref_ptr(&ntlmmsg),
+ result = curlx_base64_encode(Curl_bufref_ptr(&ntlmmsg),
Curl_bufref_len(&ntlmmsg), &base64, &len);
if(!result) {
free(*allocuserpwd);
lib/ldap.c+2 -1
@@ -626,7 +626,8 @@ static CURLcode ldap_do(struct Curl_easy *data, bool *done)
curl_strequal(";binary", attr + (attr_len - 7)) ) {
/* Binary attribute, encode to base64. */
if(vals[i]->bv_len) {
- result = curlx_base64_encode(vals[i]->bv_val, vals[i]->bv_len,
+ result = curlx_base64_encode((uint8_t *)vals[i]->bv_val,
+ vals[i]->bv_len,
&val_b64, &val_b64_sz);
if(result) {
ldap_value_free_len(vals);
lib/openldap.c+2 -1
@@ -1213,7 +1213,8 @@ static CURLcode oldap_recv(struct Curl_easy *data, int sockindex, char *buf,
/* Binary value, encode to base64. */
if(bvals[i].bv_len)
- result = curlx_base64_encode(bvals[i].bv_val, bvals[i].bv_len,
+ result = curlx_base64_encode((uint8_t *)bvals[i].bv_val,
+ bvals[i].bv_len,
&val_b64, &val_b64_sz);
if(!result)
result = client_write(data, STRCONST(": "), val_b64, val_b64_sz,
lib/vauth/digest.c+1 -1
@@ -710,7 +710,7 @@ static CURLcode auth_create_digest_http_message(
if(result)
return result;
- result = curlx_base64_encode(cnoncebuf, sizeof(cnoncebuf),
+ result = curlx_base64_encode((uint8_t *)cnoncebuf, sizeof(cnoncebuf),
&cnonce, &cnonce_sz);
if(result)
return result;
lib/vauth/spnego_sspi.c+1 -1
@@ -301,7 +301,7 @@ CURLcode Curl_auth_create_spnego_message(struct negotiatedata *nego,
char **outptr, size_t *outlen)
{
/* Base64 encode the already generated response */
- CURLcode result = curlx_base64_encode((const char *)nego->output_token,
+ CURLcode result = curlx_base64_encode(nego->output_token,
nego->output_token_length, outptr,
outlen);
if(!result && (!*outptr || !*outlen)) {
lib/vssh/libssh2.c+1 -1
@@ -602,7 +602,7 @@ static CURLcode ssh_check_fingerprint(struct Curl_easy *data,
/* The length of fingerprint is 32 bytes for SHA256.
* See libssh2_hostkey_hash documentation. */
- if(curlx_base64_encode(fingerprint, 32, &fingerprint_b64,
+ if(curlx_base64_encode((const uint8_t *)fingerprint, 32, &fingerprint_b64,
&fingerprint_b64_len) != CURLE_OK) {
myssh_state(data, sshc, SSH_SESSION_FREE);
return CURLE_PEER_FAILED_VERIFICATION;
lib/vtls/openssl.c+2 -2
@@ -4132,7 +4132,7 @@ static void ossl_trace_ech_retry_configs(struct Curl_easy *data, SSL* ssl,
int rv = 1;
# ifndef HAVE_BORINGSSL_LIKE
char *inner = NULL;
- unsigned char *rcs = NULL;
+ uint8_t *rcs = NULL;
char *outer = NULL;
# else
const char *inner = NULL;
@@ -4156,7 +4156,7 @@ static void ossl_trace_ech_retry_configs(struct Curl_easy *data, SSL* ssl,
char *b64str = NULL;
size_t blen = 0;
- result = curlx_base64_encode((const char *)rcs, rcl, &b64str, &blen);
+ result = curlx_base64_encode(rcs, rcl, &b64str, &blen);
if(!result && b64str) {
infof(data, "ECH: retry_configs %s", b64str);
free(b64str);
lib/vtls/vtls.c+1 -1
@@ -790,7 +790,7 @@ CURLcode Curl_pin_peer_pubkey(struct Curl_easy *data,
sha256sumdigest, CURL_SHA256_DIGEST_LENGTH);
if(!encode)
- encode = curlx_base64_encode((char *)sha256sumdigest,
+ encode = curlx_base64_encode(sha256sumdigest,
CURL_SHA256_DIGEST_LENGTH,
&cert_hash, &cert_hash_len);
Curl_safefree(sha256sumdigest);
lib/vtls/wolfssl.c+1 -1
@@ -1816,7 +1816,7 @@ static CURLcode wssl_handshake(struct Curl_cfilter *cf,
char *b64str = NULL;
size_t blen = 0;
- result = curlx_base64_encode((const char *)echConfigs, echConfigsLen,
+ result = curlx_base64_encode(echConfigs, echConfigsLen,
&b64str, &blen);
if(!result && b64str)
infof(data, "ECH: (not yet) retry_configs %s", b64str);
lib/vtls/x509asn1.c+1 -1
@@ -1228,7 +1228,7 @@ CURLcode Curl_extract_certinfo(struct Curl_easy *data,
curlx_dyn_reset(&out);
/* Generate PEM certificate. */
- result = curlx_base64_encode(cert.certificate.beg,
+ result = curlx_base64_encode((const uint8_t *)cert.certificate.beg,
cert.certificate.end - cert.certificate.beg,
&certptr, &clen);
if(result)
lib/ws.c+1 -1
@@ -1276,7 +1276,7 @@ CURLcode Curl_ws_request(struct Curl_easy *data, struct dynbuf *req)
result = Curl_rand(data, rand, sizeof(rand));
if(result)
return result;
- result = curlx_base64_encode((char *)rand, sizeof(rand), &randstr, &randlen);
+ result = curlx_base64_encode(rand, sizeof(rand), &randstr, &randlen);
if(result)
return result;
DEBUGASSERT(randlen < sizeof(keyval));
src/tool_ssls.c+2 -2
@@ -159,7 +159,7 @@ static CURLcode tool_ssls_exp(CURL *easy, void *userptr,
"# This file was generated by libcurl! Edit at your own risk.\n",
ctx->fp);
- r = curlx_base64_encode((const char *)shmac, shmac_len, &enc, &enc_len);
+ r = curlx_base64_encode(shmac, shmac_len, &enc, &enc_len);
if(r)
goto out;
r = CURLE_WRITE_ERROR;
@@ -168,7 +168,7 @@ static CURLcode tool_ssls_exp(CURL *easy, void *userptr,
if(EOF == fputc(':', ctx->fp))
goto out;
tool_safefree(enc);
- r = curlx_base64_encode((const char *)sdata, sdata_len, &enc, &enc_len);
+ r = curlx_base64_encode(sdata, sdata_len, &enc, &enc_len);
if(r)
goto out;
r = CURLE_WRITE_ERROR;
src/var.c+1 -1
@@ -150,7 +150,7 @@ static ParameterError varfunc(char *c, /* content */
if(clen) {
char *enc;
size_t elen;
- CURLcode result = curlx_base64_encode(c, clen, &enc, &elen);
+ CURLcode result = curlx_base64_encode((uint8_t *)c, clen, &enc, &elen);
if(result) {
err = PARAM_NO_MEM;
break;
tests/unit/unit1302.c+3 -2
@@ -133,7 +133,7 @@ static CURLcode test_unit1302(const char *arg)
size_t dlen;
/* first encode */
- rc = curlx_base64_encode(e->input, e->ilen, &out, &olen);
+ rc = curlx_base64_encode((const uint8_t *)e->input, e->ilen, &out, &olen);
abort_unless(rc == CURLE_OK, "return code should be CURLE_OK");
abort_unless(olen == e->olen, "wrong output size");
if(memcmp(out, e->output, e->olen)) {
@@ -166,7 +166,8 @@ static CURLcode test_unit1302(const char *arg)
struct etest *e = &url[i];
char *out;
size_t olen;
- rc = curlx_base64url_encode(e->input, e->ilen, &out, &olen);
+ rc = curlx_base64url_encode((const uint8_t *)e->input, e->ilen,
+ &out, &olen);
abort_unless(rc == CURLE_OK, "return code should be CURLE_OK");
if(olen != e->olen) {
curl_mfprintf(stderr, "Test %u URL encoded output length %zu "