From 5ef4e1cabca04ed60159597e8d32d7349195648b Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 10 Aug 2026 08:02:37 +0200 Subject: [PATCH] checksrc: check for `assert`, replace in tests where missing, drop from examples Follow-up to 791b6883edc1c02c4b253e8b47237ec13ac66d06 #22521 Closes #22527 --- docs/examples/sslbackend.c | 5 +---- docs/internals/CODE_STYLE.md | 1 + scripts/checksrc.pl | 1 + tests/libtest/cli_h2_pausing.c | 2 +- tests/libtest/cli_hx_download.c | 22 +++++++++--------- tests/libtest/lib2700.c | 40 ++++++++++++++++----------------- tests/libtest/lib530.c | 6 ++++- tests/libtest/lib582.c | 3 ++- tests/libtest/lib583.c | 3 ++- 9 files changed, 44 insertions(+), 39 deletions(-) diff --git a/docs/examples/sslbackend.c b/docs/examples/sslbackend.c index 20002c4f81..39c042a677 100644 --- a/docs/examples/sslbackend.c +++ b/docs/examples/sslbackend.c @@ -49,8 +49,7 @@ int main(int argc, const char **argv) const curl_ssl_backend **list; int i; - result = curl_global_sslset(CURLSSLBACKEND_NONE, NULL, &list); - assert(result == CURLSSLSET_UNKNOWN_BACKEND); + (void)curl_global_sslset(CURLSSLBACKEND_NONE, NULL, &list); for(i = 0; list[i]; i++) printf("SSL backend #%d: '%s' (ID: %d)\n", @@ -71,8 +70,6 @@ int main(int argc, const char **argv) return 1; } - assert(result == CURLSSLSET_OK); - printf("Version with SSL backend '%s':\n\n\t%s\n", name, curl_version()); return 0; diff --git a/docs/internals/CODE_STYLE.md b/docs/internals/CODE_STYLE.md index 5feb52f3dc..af8d916b36 100644 --- a/docs/internals/CODE_STYLE.md +++ b/docs/internals/CODE_STYLE.md @@ -353,6 +353,7 @@ This is the full list of functions generally banned. accept4 access aprintf + assert atoi atol calloc diff --git a/scripts/checksrc.pl b/scripts/checksrc.pl index ea71ee7ecb..5d3230c1e4 100755 --- a/scripts/checksrc.pl +++ b/scripts/checksrc.pl @@ -70,6 +70,7 @@ my %banfunc = ( "accept4" => 1, "access" => 1, "aprintf" => 1, + "assert" => 1, "atoi" => 1, "atol" => 1, "calloc" => 1, diff --git a/tests/libtest/cli_h2_pausing.c b/tests/libtest/cli_h2_pausing.c index bf98d03eca..19a2760245 100644 --- a/tests/libtest/cli_h2_pausing.c +++ b/tests/libtest/cli_h2_pausing.c @@ -64,7 +64,7 @@ static size_t cb(char *data, size_t size, size_t nmemb, void *clientp) ++handle->paused; curl_mfprintf(stderr, "INFO: [%zu] write, PAUSING %d time on %zu bytes\n", handle->idx, handle->paused, realsize); - assert(handle->paused == 1); + DEBUGASSERT(handle->paused == 1); return CURL_WRITEFUNC_PAUSE; } if(handle->fail_write) { diff --git a/tests/libtest/cli_hx_download.c b/tests/libtest/cli_hx_download.c index 6ad18e124a..6afa539142 100644 --- a/tests/libtest/cli_hx_download.c +++ b/tests/libtest/cli_hx_download.c @@ -148,15 +148,15 @@ static int my_progress_d_cb(void *userdata, if(result) { curl_mfprintf(stderr, "[t-%zu] info CURLINFO_TLS_SSL_PTR failed: %d\n", t->idx, (int)result); - assert(0); + DEBUGASSERT(0); } else { switch(tls->backend) { #ifdef USE_OPENSSL case CURLSSLBACKEND_OPENSSL: { const char *version = SSL_get_version((SSL *)tls->internals); - assert(version); - assert(strcmp(version, "unknown")); + DEBUGASSERT(version); + DEBUGASSERT(strcmp(version, "unknown")); curl_mfprintf(stderr, "[t-%zu] info OpenSSL using %s\n", t->idx, version); break; @@ -165,8 +165,8 @@ static int my_progress_d_cb(void *userdata, #ifdef USE_WOLFSSL case CURLSSLBACKEND_WOLFSSL: { const char *version = wolfSSL_get_version((WOLFSSL *)tls->internals); - assert(version); - assert(strcmp(version, "unknown")); + DEBUGASSERT(version); + DEBUGASSERT(strcmp(version, "unknown")); curl_mfprintf(stderr, "[t-%zu] info wolfSSL using %s\n", t->idx, version); break; @@ -176,7 +176,7 @@ static int my_progress_d_cb(void *userdata, case CURLSSLBACKEND_GNUTLS: { gnutls_protocol_t v = gnutls_protocol_get_version( (gnutls_session_t)tls->internals); - assert(v); + DEBUGASSERT(v); curl_mfprintf(stderr, "[t-%zu] info GnuTLS using %s\n", t->idx, gnutls_protocol_get_name(v)); break; @@ -186,8 +186,8 @@ static int my_progress_d_cb(void *userdata, case CURLSSLBACKEND_MBEDTLS: { const char *version = mbedtls_ssl_get_version((mbedtls_ssl_context *)tls->internals); - assert(version); - assert(strcmp(version, "unknown")); + DEBUGASSERT(version); + DEBUGASSERT(strcmp(version, "unknown")); curl_mfprintf(stderr, "[t-%zu] info mbedTLS using %s\n", t->idx, version); break; @@ -197,7 +197,7 @@ static int my_progress_d_cb(void *userdata, case CURLSSLBACKEND_RUSTLS: { int v = rustls_connection_get_protocol_version( (struct rustls_connection *)tls->internals); - assert(v); + DEBUGASSERT(v); curl_mfprintf(stderr, "[t-%zu] info rustls TLS version 0x%x\n", t->idx, (unsigned int)v); break; @@ -211,7 +211,7 @@ static int my_progress_d_cb(void *userdata, sspi_status = QueryContextAttributes(ctxt_handle, SECPKG_ATTR_CONNECTION_INFO, &info); - assert(sspi_status == SEC_E_OK); + DEBUGASSERT(sspi_status == SEC_E_OK); (void)sspi_status; curl_mfprintf(stderr, "[t-%zu] info Schannel TLS version 0x%08lx\n", t->idx, (unsigned long)info.dwProtocol); @@ -592,7 +592,7 @@ cleanup: if(t->result) result = t->result; else /* on success we expect SSL to have been checked */ - assert(t->checked_ssl); + DEBUGASSERT(t->checked_ssl); } curlx_free(transfer_d); } diff --git a/tests/libtest/lib2700.c b/tests/libtest/lib2700.c index c2bb39e221..6d5a7ffc08 100644 --- a/tests/libtest/lib2700.c +++ b/tests/libtest/lib2700.c @@ -39,7 +39,7 @@ static const char *descr_flags(int flags) return "pong"; if(flags & CURLWS_CLOSE) return "close"; - assert(FALSE); + DEBUGASSERT(FALSE); return ""; } @@ -52,17 +52,17 @@ retry: result = curl_ws_send(curl, NULL, 0, &nsent, (curl_off_t)size, flags | CURLWS_OFFSET); if(result == CURLE_AGAIN) { - assert(nsent == 0); + DEBUGASSERT(nsent == 0); goto retry; } if(result) { curl_mfprintf(stderr, "%s:%d curl_ws_send() failed with code %d (%s)\n", __FILE__, __LINE__, (int)result, curl_easy_strerror(result)); - assert(nsent == 0); + DEBUGASSERT(nsent == 0); return result; } - assert(nsent == 0); + DEBUGASSERT(nsent == 0); return CURLE_OK; } @@ -81,20 +81,20 @@ static CURLcode recv_header(CURL *curl, int *flags, curl_off_t *offset, retry: result = curl_ws_recv(curl, NULL, 0, &nread, &meta); if(result == CURLE_AGAIN) { - assert(nread == 0); + DEBUGASSERT(nread == 0); goto retry; } if(result) { curl_mfprintf(stderr, "%s:%d curl_ws_recv() failed with code %d (%s)\n", __FILE__, __LINE__, (int)result, curl_easy_strerror(result)); - assert(nread == 0); + DEBUGASSERT(nread == 0); return result; } - assert(nread == 0); - assert(meta); - assert(meta->flags); - assert(meta->offset == 0); + DEBUGASSERT(nread == 0); + DEBUGASSERT(meta); + DEBUGASSERT(meta->flags); + DEBUGASSERT(meta->offset == 0); *flags = meta->flags; *offset = meta->offset; @@ -123,17 +123,17 @@ retry: result = curl_ws_send(curl, buffer + *offset, size - *offset, &nsent, 0, flags); if(result == CURLE_AGAIN) { - assert(nsent == 0); + DEBUGASSERT(nsent == 0); goto retry; } if(result) { curl_mfprintf(stderr, "%s:%d curl_ws_send() failed with code %d (%s)\n", __FILE__, __LINE__, (int)result, curl_easy_strerror(result)); - assert(nsent == 0); + DEBUGASSERT(nsent == 0); return result; } - assert(nsent <= size - *offset); + DEBUGASSERT(nsent <= size - *offset); *offset += nsent; @@ -152,21 +152,21 @@ static CURLcode recv_chunk(CURL *curl, int flags, curl_off_t *offset, retry: result = curl_ws_recv(curl, buffer, sizeof(buffer), &nread, &meta); if(result == CURLE_AGAIN) { - assert(nread == 0); + DEBUGASSERT(nread == 0); goto retry; } if(result) { curl_mfprintf(stderr, "%s:%d curl_ws_recv() failed with code %d (%s)\n", __FILE__, __LINE__, (int)result, curl_easy_strerror(result)); - assert(nread == 0); + DEBUGASSERT(nread == 0); return result; } - assert(nread <= sizeof(buffer)); - assert(meta); - assert(meta->flags == flags); - assert(meta->offset == *offset); - assert(meta->bytesleft == (*bytesleft - (curl_off_t)nread)); + DEBUGASSERT(nread <= sizeof(buffer)); + DEBUGASSERT(meta); + DEBUGASSERT(meta->flags == flags); + DEBUGASSERT(meta->offset == *offset); + DEBUGASSERT(meta->bytesleft == (*bytesleft - (curl_off_t)nread)); *offset += nread; *bytesleft -= nread; diff --git a/tests/libtest/lib530.c b/tests/libtest/lib530.c index bddb857be0..94ecb7adf2 100644 --- a/tests/libtest/lib530.c +++ b/tests/libtest/lib530.c @@ -341,7 +341,11 @@ static CURLcode testone(const char *URL, int timer_fail_at, int socket_fail_at) tv.tv_usec = 100000; } - assert(maxFd); + if(!maxFd) { + t530_msg("maxFd == 0"); + result = TEST_ERR_MAJOR_BAD; + goto test_cleanup; + } select_test((int)maxFd, &readSet, &writeSet, NULL, &tv); /* Check the sockets for reading / writing */ diff --git a/tests/libtest/lib582.c b/tests/libtest/lib582.c index 4b3f042852..50d683398c 100644 --- a/tests/libtest/lib582.c +++ b/tests/libtest/lib582.c @@ -227,7 +227,8 @@ static CURLcode test_lib582(const char *URL) struct curltime timeout = { 0 }; timeout.tv_sec = (time_t)-1; - assert(test_argc >= 5); + if(test_argc < 5) + return TEST_ERR_MAJOR_BAD; start_test_timing(); diff --git a/tests/libtest/lib583.c b/tests/libtest/lib583.c index 8f366003f4..934c54b1cd 100644 --- a/tests/libtest/lib583.c +++ b/tests/libtest/lib583.c @@ -36,7 +36,8 @@ static CURLcode test_lib583(const char *URL) CURLcode result = CURLE_OK; CURLMcode mresult; - assert(test_argc >= 4); + if(test_argc < 4) + return TEST_ERR_MAJOR_BAD; global_init(CURL_GLOBAL_ALL);