Conversation

"Rust doesn't check integer overflow" is one of the worst reasons I've ever heard to avoid it in favor of a non-memory-safe language. You can turn on Rust integer overflow checks with a compiler flag. You can't turn on memory safety in non-memory-safe languages.
12
351
HWAsan can detect a much broader range of issues between objects rather than only accesses outside of them, and doesn't depend as much on a quarantine but it's probabilistic and has a fairly decent chance of missing nearly any issue. Neither of these is close to memory safety.
1
2
Hardware memory tagging on ARMv8.5 (not deployed in practice) / ARMv9 (deployed in the latest SoC generation by Qualcomm, at minimum) provides what HWAsan did via the ARM TBI (Top Byte Ignore) feature in a way that's meant to be suitable for production usage without a high cost.
1
Show replies
Replying to and
Sure they aren’t the same but not that different either. The tools available for “memory unsafe” languages (like asan, valgrind) catch the vast majority of memory bugs. Acting like it’s the wild wild west for C/C++ is silly.
1
Replying to and
They detect memory corruption when it occurs at runtime not the presence of the memory corruption bugs. If the current usage of the program doesn't trigger memory corruption with those bugs, there's nothing for them to detect. They're far from detecting the vast majority of them.
1
Show replies