postgres-github.git / summary / log / commit / refs

commit    4a18907b412e77684bf888ad6d1b4844d220196a
Author:   Andrew Dunstan <andrew@dunslane.net>
Date:     Thu Apr 09 18:20:40 2026 +0000

    Add built-in fuzzing harnesses for security testing.
    
    Add 12 libFuzzer-compatible fuzzing harnesses behind a new -Dfuzzing=true
    meson option.  Each harness implements LLVMFuzzerTestOneInput() and can
    also be built in standalone mode (reading from files) when no fuzzer
    engine is detected.
    
    Frontend targets (no backend dependencies):
      fuzz_json            - non-incremental JSON parser (pg_parse_json)
      fuzz_json_incremental - incremental/chunked JSON parser
      fuzz_conninfo        - libpq connection string parser (PQconninfoParse)
      fuzz_pglz            - PGLZ decompressor (pglz_decompress)
      fuzz_unescapebytea   - libpq bytea unescape (PQunescapeBytea)
      fuzz_b64decode       - base64 decoder (pg_b64_decode)
      fuzz_saslprep        - SASLprep normalization (pg_saslprep)
      fuzz_parsepgarray    - array literal parser (parsePGArray)
      fuzz_pgbench_expr    - pgbench expression parser (via Bison/Flex)
    
    Backend targets (link against postgres_lib):
      fuzz_rawparser       - SQL raw parser (raw_parser)
      fuzz_regex           - regex engine (pg_regcomp/pg_regexec)
      fuzz_typeinput       - type input functions (numeric/date/timestamp/interval)

[parent: 2b5ba2a0a141]