動的メモリーアクセス検査では、次の種類の警告が検出されます。
AZS: 0 サイズの割り当て (allocating zero size)
メモリーリーク
SMR: 投機的な非初期化メモリーからの読み取り (speculative uninitialized memory read)
このセクションでは、警告の考えられる原因と、警告が発生する可能性があるコードの例を説明します。
例:
    #include <stdlib>
    int main()
    {
      int *p = malloc(); // Allocating zero size memory block
    }
    
    
      考えられる原因: メモリーが割り当てられるが、関数の終了またはエスケープの前に解放されていません。
例:
    int foo()
    {
     int *p = (int*) malloc(sizeof(int));
     if (x) {
      p = (int *) malloc(5*sizeof(int));  // will cause a leak of the 1st malloc
     }  
    }                                     // The 2nd malloc leaked here
    
    
      例:
    int i;
    if (foo(&i) != 0)  /* foo returns nonzero if it has initialized i */
    printf("5d\n", i);
      コンパイラは、前述のソースに対して次の同等のコードを生成する可能性があります。
    int i;
    int t1, t2'
    t1 = foo(&i);
    t2 = i; /* value in i is loaded. So even if t1 is 0, we have uninitialized read due to speculative load */
    if (t1 != 0) 
    printf("%d\n", t2);