G.CTF.03 循环或递归必须安全退出
【级别】 建议
【描述】
在应用程序中,一个重复提供服务的逻辑循环,应当包含相应的退出机制,并且将资源正确释放后安全退出。
循环必须安全退出,递归也必须安全结束。
【反例】
Rust
fn main() {
let mut counter = 0;
loop {
counter += 1;
// 不符合:循环无退出条件
}
}
【正例】
Rust
fn main() {
let mut counter = 0;
loop {
counter += 1;
// 符合:循环包含退出条件
if should_exit(counter) {
break;
}
}
}
fn should_exit(count: u32) -> bool {
count >= 5
}