| 1234567891011121314151617181920212223242526272829303132 | // Copyright (c) 2021, Paul Dreik// For license information refer to format.h.#include <fmt/chrono.h>#include "fuzzer-common.h"/* * a fuzzer for the chrono timepoints formatters * C is a clock (std::chrono::system_clock etc) */template <typename C> void doit(const uint8_t* data, size_t size) {  using Rep = typename C::time_point::rep;  constexpr auto N = sizeof(Rep);  if (size < N) return;  const auto x = assign_from_buf<Rep>(data);  typename C::duration dur{x};  typename C::time_point timepoint{dur};  data += N;  size -= N;  data_to_string format_str(data, size);  std::string message = fmt::format(format_str.get(), timepoint);}extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {  try {    doit<std::chrono::system_clock>(data, size);  } catch (...) {  }  return 0;}
 |