在 libfuzzer 中创建的单例是“每次运行一个实例”还是“每次运行一个实例”?
例子:
// singleton example
int& Singleton() {
static int a = 0;
return a;
}
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* Data, size_t Size) {
// Usage example
Singleton() += Size;
}
- 1 次运行:Size = 10。Singleton() == 10
- 2 次运行:Size = 20. Singleton() == 20(“每次运行一个实例”)或 Singleton() == 30(“每个运行一个实例”)