[libcxx-commits] [PATCH] D132769: [2b/3][ASan][libcxx] std::basic_string annotations
Tacet via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Feb 24 21:06:19 PST 2023
AdvenamTacet added inline comments.
================
Comment at: libcxx/include/string:3353
+ // after __grow_by and correct state is necessery when changing annotations.
+ // __null_terminate_at is changing annotations.
+ traits_type::assign(__p + __pos, __n2, __c);
----------------
philnik wrote:
> Same question here: Which invariants are not met after calling `__grow_by`? (And maybe add a comment to `__grow_by` to mention that it fails to keep the invariants)
It's not about strings invariants, but ASan annotations. After `__growby`, those are different than size (as `__growby` does not set size, but extends annotations), setting size just after `__grow_by` is enough to make it work and it's probably a nicer decision.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D132769/new/
https://reviews.llvm.org/D132769
More information about the libcxx-commits
mailing list