launch-code
launch-code copied to clipboard
Close the macro loophole
Because we only sign the source text, you can write
macro_rules! loophole {
() => (unsafe { /* anything */ })
}
#[launch_code="⣘⠖⡹⡄⣉⢈⢰⣡⠂⡘⡿⡛⣸⢀⢮⡆⡧⣙⠘⣷⠽⠨⣌⣗⣥⠆⢗⣹⢷⢰⡲⢴⠾⡢⠔⡈⢠⢶⡸⡬⠀⢽⠽⠮⠫⣉⢁⢶⠙⣬⡖⣚⠤⣁⢗⡟⢡⠻⣘⠞⢸⣱⢛⠄"]
fn main() {
loophole!();
}
and change unsafe code without re-signing. Perhaps we need to sign both the source and the expanded AST.