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

sizeof 作用于指针是可疑的

10.7.3 ID_sizeof_pointer
目录 › next › previous

sizeof 作用于指针的结果是指针本身的大小,而不是指针指向对象的大小,sizeof 作用于指针属于常见笔误。

示例:

void foo(int* p) {
    memset(p, 0, sizeof(p));   // Logic error
}

应改为:

void foo(int* p, int n) {
    memset(p, 0, n * sizeof(*p));   // OK
}

其中 n 是 p 指向数组的元素个数。

相关

ID_sizeof_pointerDivision

参考

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