• Show log

    Commit

  • Hash : a470b0b2
    Author : Ebrahim Byagowi
    Date : 2020-07-04T23:56:10

    Minor, disable strict-aliasing warning in set fuzzer
    
    ../test/fuzzing/hb-set-fuzzer.cc: In function ‘int LLVMFuzzerTestOneInput(const uint8_t*, size_t)’:
    ../test/fuzzing/hb-set-fuzzer.cc:38:82: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       38 |   const instructions_t &instructions = reinterpret_cast<const instructions_t &> (data);
          |
    
    And it is already disabled at project level so let's disable it here also.
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/harfbuzz.git
    Git SSH git@git.kmx.io:kc3-lang/harfbuzz.git
    Public access ? public
    Description

    HarfBuzz text shaping engine

    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg_l thodg
    Tags

  • README

  • In order to build the fuzzer one needs to build HarfBuzz and
    harfbuzz/test/fuzzing/hb-fuzzer.cc with:
      - Using the most recent Clang
      - With -fsanitize=address (or =undefined, or a combination)
      - With -fsanitize-coverage=edge[,8bit-counters,trace-cmp]
      - With various defines that limit worst case exponential behavior.
        See FUZZING_CPPFLAGS in harfbuzz/src/Makefile.am for the list.
      - link against libFuzzer
    
    To run the fuzzer one needs to first obtain a test corpus as a directory
    containing interesting fonts.  A good starting point is inside
    harfbuzz/test/shaping/fonts/fonts/.
    Then, run the fuzzer like this:
       ./hb-fuzzer -max_len=2048 CORPUS_DIR
    Where max_len specifies the maximal length of font files to handle.
    The smaller the faster.
    
    For more details consult the following locations:
      - http://llvm.org/docs/LibFuzzer.html or
      - https://github.com/google/libfuzzer-bot/tree/master/harfbuzz
      - https://github.com/harfbuzz/harfbuzz/issues/139