☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

不应使用 '\0' 等字符常量对指针赋值

14.16 ID_oddPtrCharAssignment
目录 › next › previous

用 '\0'、L'\0'、u'\0'、U'\0' 等字符常量对指针赋值是非常怪异的,往往意味着逻辑错误。

本规则是 ID_zeroAsPtrValue 的特化。

示例:

void set_terminate(char* p) {
    p = '\0';                   // Non-compliant
}

应改为:

void set_terminate(char* p) {
    *p = '\0';                  // Compliant
}

相关

ID_zeroAsPtrValue

参考

CWE-351
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.