CWARN.PACKED.TYPEDEF

属性 'packed' は typedef で無視されます

CWARN.PACKED.TYPEDEF チェッカーは、gcc 'packed' 属性が typedef 宣言に適用されているインスタンスを検出します。'packed' 属性は、typedef に struct 定義が含まれている場合に使用できます。

脆弱コード例

コピー
  typedef struct test{
    int a;
    char b;
    int c;
  } __attribute__((__packed__)) testing;
    /* ...*/ 
   typedef struct s __attribute__((packed)) s_packed;   
   /* ...*/ 

Klocwork は、'packed' 属性が typedef 宣言で使用される 7 行目にフラグを立てます。5 行目の 'packed' 属性は、struct 定義の一部であるため、フラグが立てられません。