• Show log

    Commit

  • Hash : 6f1470a5
    Author : Nick Wellnhofer
    Date : 2020-08-25T18:50:45

    Hardcode maximum XPath recursion depth
    
    Always limit nested functions calls to 5000. This avoids call stack
    overflows with deeply nested expressions.
    
    The expression parser produces about 10 nested function calls when
    parsing a subexpression in parentheses, so the effective nesting limit
    is about 500 which should be more than enough.
    
    Use a lower limit when fuzzing to account for increased memory usage
    when using sanitizers.
    

  • README

  • libFuzzer instructions for libxml2
    ==================================
    
    Set compiler and options:
    
        export CC=clang
        export CFLAGS="-g -fsanitize=fuzzer-no-link,address,undefined \
            -fno-sanitize-recover=all \
            -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION"
    
    Build libxml2 with instrumentation:
    
        ./configure --without-python
        make
    
    Run fuzzers:
    
        make -C fuzz fuzz-xml