EN JP CN

CWARN.PACKED.TYPEDEF

CWARN.PACKED.TYPEDEF

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

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

脆弱コード例

1  typedef struct test{
2    int a;
3    char b;
4    int c;
5  } __attribute__((__packed__)) testing;
 
6   /* ... */ 
 
7  typedef struct s __attribute__((packed)) s_packed;   

8   /* ... */ 
   

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