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

Implement entry points suitable for libfuzzer

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • C library
    • None

    Description

      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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated: