mirror of
https://github.com/curl/curl.git
synced 2026-06-06 12:14:25 +03:00
cmake: fix clang-tidy builds to verify tests, fix fallouts
- cmake: disable test bundles for clang-tidy builds. clang-tidy ignores #included .c sources, and incompatible with unity and bundles. It caused clang-tidy ignoring all test sources. It also means this is the first time tests sources are checked with clang-tidy. (autotools doesn't run it on tests.) - cmake: update description for `CURL_TEST_BUNDLES` option. - fix tests using special `CURLE_*` enums that were missing from `curl/curl.h`. Add them as reserved codes. - fix about ~50 other issues detected by clang-tidy: unchecked results, NULL derefs, memory leaks, casts to enums, unused assigments, uninitialized `errno` uses, unchecked `open`, indent, and more. - drop unnecessary casts (lib1533, lib3207). - suppress a few impossible cases with detailed `NOLINT`s. - lib/escape.c: drop `NOLINT` no longer necessary. Follow-up to72abf7c13a#13862 (possibly) - extend two existing `NOLINT` comments with details. Follow-up tofabfa8e402#15825 Closes #16756
This commit is contained in:
parent
efa65b24ae
commit
9465327084
52 changed files with 257 additions and 179 deletions
|
|
@ -1828,7 +1828,9 @@ static CURLcode cf_udp_setup_quic(struct Curl_cfilter *cf,
|
|||
/* QUIC needs a connected socket, nonblocking */
|
||||
DEBUGASSERT(ctx->sock != CURL_SOCKET_BAD);
|
||||
|
||||
rc = connect(ctx->sock, &ctx->addr.curl_sa_addr, /* NOLINT */
|
||||
/* error: The 1st argument to 'connect' is -1 but should be >= 0
|
||||
NOLINTNEXTLINE(clang-analyzer-unix.StdCLibraryFunctions) */
|
||||
rc = connect(ctx->sock, &ctx->addr.curl_sa_addr,
|
||||
(curl_socklen_t)ctx->addr.addrlen);
|
||||
if(-1 == rc) {
|
||||
return socket_connect_result(data, ctx->ip.remote_ip, SOCKERRNO);
|
||||
|
|
|
|||
|
|
@ -223,8 +223,6 @@ void Curl_hexencode(const unsigned char *src, size_t len, /* input length */
|
|||
DEBUGASSERT(src && len && (olen >= 3));
|
||||
if(src && len && (olen >= 3)) {
|
||||
while(len-- && (olen >= 3)) {
|
||||
/* clang-tidy warns on this line without this comment: */
|
||||
/* NOLINTNEXTLINE(clang-analyzer-core.UndefinedBinaryOperatorResult) */
|
||||
*out++ = (unsigned char)hex[(*src & 0xF0) >> 4];
|
||||
*out++ = (unsigned char)hex[*src & 0x0F];
|
||||
++src;
|
||||
|
|
|
|||
|
|
@ -993,7 +993,9 @@ number:
|
|||
/* NOTE NOTE NOTE!! Not all sprintf implementations return number of
|
||||
output characters */
|
||||
#ifdef HAVE_SNPRINTF
|
||||
(snprintf)(work, BUFFSIZE, formatbuf, iptr->val.dnum); /* NOLINT */
|
||||
/* !checksrc! disable LONGLINE */
|
||||
/* NOLINTNEXTLINE(clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling) */
|
||||
(snprintf)(work, BUFFSIZE, formatbuf, iptr->val.dnum);
|
||||
#ifdef _WIN32
|
||||
/* Old versions of the Windows CRT do not terminate the snprintf output
|
||||
buffer if it reaches the max size so we do that here. */
|
||||
|
|
|
|||
|
|
@ -335,6 +335,20 @@ curl_easy_strerror(CURLcode error)
|
|||
case CURLE_OBSOLETE62:
|
||||
case CURLE_OBSOLETE75:
|
||||
case CURLE_OBSOLETE76:
|
||||
|
||||
/* error codes used by curl tests */
|
||||
case CURLE_RESERVED115:
|
||||
case CURLE_RESERVED116:
|
||||
case CURLE_RESERVED117:
|
||||
case CURLE_RESERVED118:
|
||||
case CURLE_RESERVED119:
|
||||
case CURLE_RESERVED120:
|
||||
case CURLE_RESERVED121:
|
||||
case CURLE_RESERVED122:
|
||||
case CURLE_RESERVED123:
|
||||
case CURLE_RESERVED124:
|
||||
case CURLE_RESERVED125:
|
||||
case CURLE_RESERVED126:
|
||||
case CURL_LAST:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue