Uploaded image for project: 'Libmongocrypt'
  1. Libmongocrypt
  2. MONGOCRYPT-186

Implement entry points suitable for libfuzzer

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: C library
    • Labels:
      None

      As described in MONGOCRYPT-119, implementation of fuzz testing for libmongocrypt is needed. In order to support libfuzzer testing, however, it is necessary to implement one or more suitable entry points. The general requirements are that the program to be fuzzed, rather than a main() function, must have a function with the signature int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) and then be compiled/linked with clang using the flag -fsanitize=address,fuzzer. This may require writing additional functions that support processing a stream of bytes rather than reading from a file. An example patch for implementing suitable entry points for libbson is attached to MONGOCRYPT-119 as are instructions for how to run libfuzzer testing.

            Assignee:
            Unassigned Unassigned
            Reporter:
            roberto.sanchez@mongodb.com Roberto Sanchez
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: