Синглтон в 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 ответ

Решение

Поздний ответ - будет один экземпляр на несколько прогонов.

Другие вопросы по тегам