[all-commits] [llvm/llvm-project] dc5775: [libc++][hardening] Categorize assertions that pro...

Konstantin Varlamov via All-commits all-commits at lists.llvm.org
Sat Jan 20 23:38:15 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: dc57752031fb14166dff2174b36c28d27d742382
      https://github.com/llvm/llvm-project/commit/dc57752031fb14166dff2174b36c28d27d742382
  Author: Konstantin Varlamov <varconsteq at gmail.com>
  Date:   2024-01-20 (Sat, 20 Jan 2024)

  Changed paths:
    M libcxx/include/__algorithm/clamp.h
    M libcxx/include/__algorithm/ranges_clamp.h
    M libcxx/include/__bit/bit_ceil.h
    M libcxx/include/__config
    M libcxx/include/__hash_table
    M libcxx/include/__memory/assume_aligned.h
    M libcxx/include/__numeric/gcd_lcm.h
    M libcxx/include/barrier
    M libcxx/include/latch
    M libcxx/include/semaphore
    M libcxx/include/string_view
    M libcxx/src/filesystem/operations.cpp
    M libcxx/src/include/to_chars_floating_point.h

  Log Message:
  -----------
  [libc++][hardening] Categorize assertions that produce incorrect results (#77183)

Introduce a new `argument-within-domain` category that covers cases
where the given arguments make it impossible to produce a correct result
(or create a valid object in case of constructors). While the incorrect
result doesn't create an immediate problem within the library (like e.g.
a null pointer dereference would), it always indicates a logic error in
user code and is highly likely to lead to a bug in the program once the
value is used.




More information about the All-commits mailing list