CS.STMT.IFELSE.BLOCK
if/else ステートメントのボディはブロックでなければなりません。
if/else ステートメントのボディは、{ と } の間のブロックである必要があります。
脆弱性とリスク
if/else ステートメントのボディで波括弧を省略すると、不注意なプログラミングエラーが発生する可能性があります。
軽減と防止
if/else ステートメントのボディでは、波括弧を使用します。
脆弱コード例
コピー
                                                    
                                                
                                              using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  
  namespace kmcustom
  {
      class C18
     {
         public void doSomething()
         {
 
         }
 
         public void testNGIf(int some_number)
         {
 
             if (some_number == 1)
                 doSomething();
             else if (some_number == 2)
                 doSomething();
             else
                 doSomething();
 
 
             if (some_number == 3) ;
             else if (some_number == 4) ;
             else;
 
         }
 
         public void testOKIf(int some_number)
         {
 
             if (some_number == 1)
             {
                 doSomething();
             }
             else if (some_number == 2)
             {
                 doSomething();
             }
             else {
                 doSomething();
             }
         }
     }
 }