Hasty Briefsbeta

双语

Watch out for missed warnings on vendor C++ toolchains

a day ago
  • 供应商的C++工具链可能会遗漏GCC或Clang捕获的警告,例如隐式窄化转换。
  • 一个恒定时间的memcmp函数存在一个bug,其中uint8_t累加器截断了32位异或结果,导致仅每四个字节进行比较。
  • 在GCC下启用-Wconversion会标记该bug,但供应商的工具链却没有,尽管该标志已被设置。
  • 审查人员应使用最新版GCC或Clang并启用最大警告来测试代码,以发现隐藏的问题。