指针使用R-1-3-5强制

禁止使用或释放未分配或已释放的指针

注意:与 #R-1-6-16 《禁止使用已释放的内存》有某种程度上重复

因此将本规则理解为:

  • 禁止使用未分配空间的指针
  • 禁止释放未分配空间的指针
  • 禁止释放已被释放的指针
使用或释放未分配或已释放的指针
test.c
1#include <stdlib.h>
2
3void foo(void)
4{
5 int *pa = NULL;
6 *pa = 0;
禁止使用或释放未分配或已释放的指针 [gjb8114-r-1-3-5]
7 free(pa);
禁止使用或释放未分配或已释放的指针 [gjb8114-r-1-3-5]
8 int *pb = (int *)malloc(sizeof(int));
9 free(pb);
10 free(pb);
禁止使用或释放未分配或已释放的指针 [gjb8114-r-1-3-5]
11}