Bug-org 823369 mozilla::widget::EventFlags assumes its size is less than uint32_t
初回投稿日時: 2013年01月02日09時42分11秒
カテゴリ: Mozilla Core Mozilla20 バグ修正
SNS:
Tweet (list)
EventFlags
をbool
のbit fieldとして作成しましたが、速度やメンテナンス製を考慮して、内部ではuint32_t
としてmemcpy()
を利用したりしています。メンバが増えていくと、そのうちにuint32_t
ではサイズが足りなくなる可能性があり、問題になる可能性があります。
えむけいさんに教えて頂いた、MOZ_SATATIC_ASSERT()
でビルド時にサイズ確認を行うようにし、typedef uint32_t EventFlags::RawFlags
と定義することで、サイズ変更の際には1行変更するだけでメンテナンスできるように修正しています。