================
@@ -2249,6 +2249,24 @@ void CodeGenFunction::EmitAggregateCopy(LValue Dest,
LValue Src, QualType Ty,
bool isVolatile) {
assert(!Ty->isAnyComplexType() && "Shouldn't happen for complex");
+ // Sanitizer checks to verify source and destination pointers are
+ // non-null and properly aligned before copying.
+ // Without these checks, undefined behavior from invalid pointers goes
undetected.
+ if (SanOpts.hasOneOf(SanitizerKind::Null | SanitizerKind::Alignment)) {
----------------
hubert-reinterpretcast wrote:
I recommend omitting this check and leaving `sanitizePerformTypeCheck` to do
its work.
https://github.com/llvm/llvm-project/pull/164548
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits