ci: silence Annex K noise from clang-tidy
The first clang-tidy run on v0.7.0 reported 193 warnings, all from one check: clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling. That check flags snprintf, fprintf, memset, strncpy etc. and recommends the C11 Annex K _s variants (snprintf_s, memset_s, ...). Annex K is fundamentally not portable — glibc, musl, and MSVC all either don't implement it or implement it incompletely. snprintf is already bounds-checked via its size argument; this check is noise rather than signal in any real C codebase. Also pre-emptively disabling bugprone-easily-swappable-parameters which fires on every small utility function taking 2+ same-typed params (e.g. skeletonkey_host_kernel_at_least(host, major, minor, patch)). Everything else stays on. The next CI run will show whatever real findings hid under the noise.
This commit is contained in:
+24
@@ -0,0 +1,24 @@
|
|||||||
|
# clang-tidy configuration for SKELETONKEY core/.
|
||||||
|
#
|
||||||
|
# Defaults are mostly fine. Two checks intentionally disabled:
|
||||||
|
#
|
||||||
|
# clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling
|
||||||
|
# This check flags snprintf, fprintf, memset, strncpy, etc. as
|
||||||
|
# "insecure" and recommends the C11 Annex K _s variants
|
||||||
|
# (snprintf_s, memset_s, ...). Annex K is fundamentally not
|
||||||
|
# portable — glibc, musl, and MSVC all either don't implement
|
||||||
|
# it or implement it incompletely. snprintf is already bounds-
|
||||||
|
# checked; this is noise rather than signal in real C code.
|
||||||
|
# The Linux kernel uses these functions everywhere; so does
|
||||||
|
# every C project. Disabling.
|
||||||
|
#
|
||||||
|
# bugprone-easily-swappable-parameters
|
||||||
|
# Flags every function taking 2+ same-typed parameters. False-
|
||||||
|
# positive heavy on small utility functions like
|
||||||
|
# skeletonkey_host_kernel_at_least(host, major, minor, patch)
|
||||||
|
# where the parameter order is documented and obvious. Not
|
||||||
|
# worth the noise.
|
||||||
|
|
||||||
|
Checks: >
|
||||||
|
-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
|
||||||
|
-bugprone-easily-swappable-parameters
|
||||||
Reference in New Issue
Block a user