CERT.BITFIELD.SIGN.MODIFIER

符号付きまたは符号なしとして定義されていないビットフィールドは実装定義である

脆弱性とリスク

修飾子を指定せずにビットフィールドを使用することは実装定義であり、使用すると移植性に影響する可能性がある

脆弱コード例

struct ST { int a:5; /* 違反 */ unsigned int b:4; /* OK */ signed int c:3; /* OK */ } F;

要素 'a' は符号付きまたは符号なしとして定義されておらず、移植できない可能性がある