示例1
在此示例中,程序员缩进了调用do_x()和do_y()的语句,就好像目的是只有在条件为true时才调用这些函数。但是,由于没有表示块的括号,do_y()即使条件为false也将始终执行。
如果(条件== true)
do_x();
do_y();
这可能不是程序员的意图。当条件对安全至关重要时,例如做出安全决定或检测关键错误时,这可能会产生漏洞。
示例2
在此示例中,程序员缩进了do_y()语句,就好像意图是该函数应与上述条件相关联,并且只有在条件为真时才能调用。但是,由于do_x()在与条件上的线上被调用,并且没有表示块的括号,do_y()即使条件为false也将始终执行。
if(条件== true)do_x();
do_y();
这可能不是程序员的意图。当条件对安全至关重要时,例如做出安全决定或检测关键错误时,这可能会产生漏洞。