CWARN.PACKED.TYPEDEF

属性“packed”在 typedef 中被忽略

CWARN.PACKED.TYPEDEF 检查器可查找其中 gcc“packed”属性应用于 typedef 声明的实例。如果 typedef 包含 struct 定义,则允许使用“packed”属性。

漏洞代码示例

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

Klocwork 标记了第 7 行,该行中的 packed 属性与 typedef 声明一起使用。未标记第 5 行的 packed 属性,因为它是 struct 定义的一部分。