mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
5fbcbb6c83
Use of `strcpy` in these particular cases was safe, but it's hard to tell and also useless. `strcpy` would effectively need to do another `strlen` which we already did. Also removed sprintf, which was also safe in this case but it's easier to be "obviously safe", especially for static analysers.
83 lines
2.9 KiB
Bash
Executable File
83 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# TODO(iphydf): We might want some of these. For the ones we don't want, add a
|
|
# comment explaining why not.
|
|
CHECKS="*"
|
|
CHECKS="$CHECKS,-altera-unroll-loops"
|
|
CHECKS="$CHECKS,-android-cloexec-accept"
|
|
CHECKS="$CHECKS,-android-cloexec-fopen"
|
|
CHECKS="$CHECKS,-bugprone-not-null-terminated-result"
|
|
CHECKS="$CHECKS,-bugprone-reserved-identifier"
|
|
CHECKS="$CHECKS,-bugprone-sizeof-expression"
|
|
CHECKS="$CHECKS,-cert-dcl37-c"
|
|
CHECKS="$CHECKS,-cert-dcl51-cpp"
|
|
CHECKS="$CHECKS,-clang-analyzer-optin.performance.Padding"
|
|
CHECKS="$CHECKS,-cppcoreguidelines-avoid-magic-numbers"
|
|
CHECKS="$CHECKS,-cppcoreguidelines-init-variables"
|
|
CHECKS="$CHECKS,-hicpp-multiway-paths-covered"
|
|
CHECKS="$CHECKS,-hicpp-signed-bitwise"
|
|
CHECKS="$CHECKS,-llvm-else-after-return"
|
|
CHECKS="$CHECKS,-llvmlibc-restrict-system-libc-headers"
|
|
CHECKS="$CHECKS,-misc-redundant-expression"
|
|
CHECKS="$CHECKS,-misc-unused-parameters"
|
|
CHECKS="$CHECKS,-readability-else-after-return"
|
|
CHECKS="$CHECKS,-readability-function-cognitive-complexity"
|
|
CHECKS="$CHECKS,-readability-inconsistent-declaration-parameter-name"
|
|
CHECKS="$CHECKS,-readability-magic-numbers"
|
|
CHECKS="$CHECKS,-readability-redundant-control-flow"
|
|
|
|
# TODO(iphydf): Maybe fix these?
|
|
CHECKS="$CHECKS,-altera-id-dependent-backward-branch"
|
|
CHECKS="$CHECKS,-altera-struct-pack-align"
|
|
CHECKS="$CHECKS,-bugprone-branch-clone"
|
|
CHECKS="$CHECKS,-bugprone-easily-swappable-parameters"
|
|
CHECKS="$CHECKS,-bugprone-implicit-widening-of-multiplication-result"
|
|
CHECKS="$CHECKS,-bugprone-integer-division"
|
|
CHECKS="$CHECKS,-bugprone-narrowing-conversions"
|
|
CHECKS="$CHECKS,-clang-analyzer-core.NonNullParamChecker"
|
|
CHECKS="$CHECKS,-clang-analyzer-core.NullDereference"
|
|
CHECKS="$CHECKS,-clang-analyzer-optin.portability.UnixAPI"
|
|
CHECKS="$CHECKS,-clang-analyzer-unix.Malloc"
|
|
CHECKS="$CHECKS,-clang-analyzer-valist.Uninitialized"
|
|
CHECKS="$CHECKS,-concurrency-mt-unsafe"
|
|
CHECKS="$CHECKS,-cppcoreguidelines-avoid-non-const-global-variables"
|
|
CHECKS="$CHECKS,-cppcoreguidelines-narrowing-conversions"
|
|
CHECKS="$CHECKS,-google-readability-casting"
|
|
CHECKS="$CHECKS,-misc-no-recursion"
|
|
|
|
ERRORS="*"
|
|
|
|
# TODO(iphydf): Fix these.
|
|
ERRORS="$ERRORS,-bugprone-macro-parentheses"
|
|
ERRORS="$ERRORS,-bugprone-posix-return"
|
|
ERRORS="$ERRORS,-bugprone-signed-char-misuse"
|
|
ERRORS="$ERRORS,-cert-err34-c"
|
|
ERRORS="$ERRORS,-cert-str34-c"
|
|
ERRORS="$ERRORS,-hicpp-uppercase-literal-suffix"
|
|
ERRORS="$ERRORS,-readability-suspicious-call-argument"
|
|
ERRORS="$ERRORS,-readability-uppercase-literal-suffix"
|
|
|
|
set -eux
|
|
|
|
run() {
|
|
echo "Running clang-tidy in variant '$*'"
|
|
EXTRA_ARGS=("$@")
|
|
for i in "${!EXTRA_ARGS[@]}"; do
|
|
EXTRA_ARGS[$i]="--extra-arg=${EXTRA_ARGS[$i]}"
|
|
done
|
|
clang-tidy-12 \
|
|
-p=_build \
|
|
--extra-arg=-DMIN_LOGGER_LEVEL=LOGGER_LEVEL_TRACE \
|
|
"${EXTRA_ARGS[@]}" \
|
|
--checks="$CHECKS" \
|
|
--warnings-as-errors="$ERRORS" \
|
|
--use-color \
|
|
other/bootstrap_daemon/src/*.c \
|
|
other/*.c \
|
|
toxav/*.c \
|
|
toxcore/*.c \
|
|
toxencryptsave/*.c
|
|
}
|
|
|
|
. other/analysis/variants.sh
|