oss-fuzz/projects/libaom
James Zern 014d5b9ac6 av1_dec_fuzzer: set cfg.allow_lowbitdepth to CONFIG_LOWBITDEPTH (#1818)
If cfg.allow_lowbitdepth is 0, then seq_params->use_highbitdepth is
unconditionally set to 1 by the following code in av1_read_color_config():

seq_params->use_highbitdepth =
seq_params->bit_depth > AOM_BITS_8 || !allow_lowbitdepth;

aomdec.c sets cfg.allow_lowbitdepth to CONFIG_LOWBITDEPTH. (We usually
pass -DCONFIG_LOWBITDEPTH=1 to cmake.) Chromium defines
CONFIG_LOWBITDEPTH as 1 and sets cfg.allow_lowbitdepth to 1:
https://chromium-review.googlesource.com/c/chromium/src/+/1178938

Our fuzzing test binary should match the behavior of aomdec and Chromium.
2018-09-15 14:30:16 -07:00
..
Dockerfile Rename dictionary file to match conventions (#1612) 2018-07-12 20:25:32 -07:00
README.md libaom: Add README explaining how to create a PR. (#1651) 2018-07-25 10:28:59 -07:00
av1_dec_fuzzer.cc av1_dec_fuzzer: set cfg.allow_lowbitdepth to CONFIG_LOWBITDEPTH (#1818) 2018-09-15 14:30:16 -07:00
av1_dec_fuzzer.dict Rename dictionary file to match conventions (#1612) 2018-07-12 20:25:32 -07:00
build.sh Use a smaller AOM_MAX_ALLOCABLE_MEMORY for msan. (#1647) 2018-07-24 10:52:16 +10:00
project.yaml [libaom] Add MemorySanitizer (MSan) support. (#1627) 2018-07-17 17:41:55 -07:00

README.md

Submit a Patch to oss-fuzz repo

One-time Setup

  1. Create github account if needed (with @google.com email address, preferably) and log in.
  2. To allow “git push” to work, youll have to add an SSH key: https://help.github.com/articles/connecting-to-github-with-ssh/
  3. Go to https://github.com/google/oss-fuzz and click on “Fork”.
  4. Go to your own fork of the repo, which will be at https://github.com/<git_username>/oss-fuzz
  5. Click on “clone or download” and pick “Clone with SSH” method (I found that easier to use for “git push”). Then copy that URL and run “git clone <URL>” in terminal. Now you have a local repo, and your fork of the remote repo will be called “origin” in your git config.
  6. Configure a remote repo pointing to the upstream repo (https://github.com/google/oss-fuzz) so that its called “upstream”:
    • cd <local_oss_fuzz_repo_directory>/oss-fuzz
    • git remote add upstream git@github.com:google/oss-fuzz.git
    • git remote -v

NOTE: For trivial changes it's possible to edit the files in the web UI on the main project and create a commit + pull request from that.

Workflow for a Pull Request (Patch)

  1. Go to your repo:
    • cd <local_oss_fuzz_repo_directory>/oss-fuzz
  2. Create a new branch:
    • git checkout master
    • git checkout -b new_feature_xyz
  3. Make your changes and commit them locally with “git commit”
  4. Push your changes to your fork on github
    • git push -u origin HEAD
    • (This will create a branch of the same name “new_feature_xyz” on your fork “origin”).
  5. Open your fork in browser and click on “Compare & pull request” and follow the prompts.
  6. If changes are requested to the patch:
    • make changes to the same local branch
    • commit them locally with “git commit” (but DO NOT amend!)
    • git push -u origin HEAD
  7. Once pull request is closed:
    • Delete “new_feature_xyz” branch on your fork using the “Delete branch” button on the pull request
    • Delete local “new_feature_xyz” branch locally with “git checkout master && git branch -D new_feature_xyz”
    • Sync your local repo and your fork with upstream repo:
      • git checkout master
      • git fetch upstream
      • git merge upstream/master
      • git push origin master