22 lines
363 B
C++
22 lines
363 B
C++
|
|
#include "test_errors.h"
|
||
|
|
#include <cstdio>
|
||
|
|
#include <cstdlib>
|
||
|
|
|
||
|
|
// 内存泄漏
|
||
|
|
void test_memory_leak() {
|
||
|
|
int* data = new int[100];
|
||
|
|
// 没有 delete[]
|
||
|
|
}
|
||
|
|
|
||
|
|
// 重复释放
|
||
|
|
void test_double_free() {
|
||
|
|
int* p = new int;
|
||
|
|
delete p;
|
||
|
|
delete p;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 文件句柄泄漏
|
||
|
|
void test_file_leak() {
|
||
|
|
FILE* fp = fopen("test.txt", "w");
|
||
|
|
// 没有 fclose
|
||
|
|
}
|