commit d80cfa6f41b358440cc0ed021deaa01583a035d7 (tree)
parent 379f1c9fa0e9f7ec326ab13cc65d93a5101f3414
Author: David Rubin <daviru007@icloud.com>
Date: Fri, 11 Apr 2025 21:37:01 +0200
Compilation: Use trapping UBSan if -fno-ubsan-rt is passed.
This is a mitigation of #23216 meant only for 0.14.x.
Diffstat:
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/Compilation.zig b/src/Compilation.zig
@@ -6053,7 +6053,9 @@ pub fn addCCArgs(
// function was called.
try argv.append("-fno-sanitize=function");
- if (mod.optimize_mode == .ReleaseSafe) {
+ // If we want to sanitize C, but the ubsan runtime has been turned off,
+ // we'll switch to just trapping.
+ if (comp.ubsan_rt_strat == .none or mod.optimize_mode == .ReleaseSafe) {
// It's recommended to use the minimal runtime in production
// environments due to the security implications of the full runtime.
// The minimal runtime doesn't provide much benefit over simply