HomeFreeBSD

Address warnings about possible division by zero from clangsa

Description

Address warnings about possible division by zero from clangsa

  • The complaint in ztest_replay_write() is only possible if something went horribly wrong. An assertion will silence this and if it goes off, we will know that something is wrong.
    • The complaint in spa_estimate_metaslabs_to_flush() is not impossible, but seems very unlikely. We resolve this by passing the value from the MIN() that does not go to infinity when the variable is zero.

There was a third report from Clang's scan-build, but that was a
definite false positive and disappeared when checked again through
Clang's static analyzer with Z3 refution via CodeChecker.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Closes #14124

Details

Provenance
Richard Yao <richard.yao@alumni.stonybrook.edu>Authored on Nov 3 2022, 4:58 PM
GitHub <noreply@github.com>Committed on Nov 3 2022, 4:58 PM
Parents
rG27d29946be5e: libuutil: deobfuscate internal pointers
Branches
Unknown
Tags
Unknown

Event Timeline

GitHub <noreply@github.com> committed rGf47f6a055d0c: Address warnings about possible division by zero from clangsa (authored by Richard Yao <richard.yao@alumni.stonybrook.edu>).Nov 3 2022, 4:58 PM