Синглтон в libfuzzer
Будет ли синглтон, созданный в 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 («один экземпляр за все прогоны»)
1 ответ
Решение