1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-27 16:51:15 +02:00

flake: Enable UBSAN for checks

Doing this makes catching non-obvious bugs easier. GHA CI workload is
already a concern and there isn't much benefit in running the tests with
and without sanitizers at the same time, so UBSAN is enabled for default
checks.

This change doesn't affect production builds in any way, but is rather a
step in the direction of improving automated testing during development.

Relates to #10969.
This commit is contained in:
Sergei Zimmerman 2025-03-08 21:08:35 +00:00
parent a047dec120
commit 874587516c
2 changed files with 36 additions and 6 deletions

View file

@ -17,8 +17,10 @@ struct view_stringbuf : public std::stringbuf
}
};
std::string_view toView(const std::ostringstream & os)
__attribute__((no_sanitize("undefined"))) std::string_view toView(const std::ostringstream & os)
{
/* Downcasting like this is very much undefined behavior, so we disable
UBSAN for this function. */
auto buf = static_cast<view_stringbuf *>(os.rdbuf());
return buf->toView();
}