github CodeIntelligenceTesting/cifuzz v0.1.0
cifuzz Release 0.1.0

latest releases: v2.40.0, v2.39.0, v2.38.0...
2 years ago

This is the initial development release of cifuzz.

Features tl:dr

  • Easy C/C++ Fuzzing including CMake integration (testet with CLion and VS Code)
  • Generate Coverage Reports for fuzz test
  • Documentation

What's Changed

  • Add the missing command stubs... by @jochil in #1
  • Switch to import path code-intelligence.com/cifuzz by @fmeum in #3
  • test: add basic integration test incl. ci workflow by @jochil in #2
  • feat(init): create config file by @jochil in #4
  • improve output + error handling by @jochil in #6
  • refactor: update package structure by @jochil in #7
  • ci: skip integration tests on push by @jochil in #5
  • Simplify CI setup by @fmeum in #9
  • Add a replayer by @fmeum in #10
  • Support directories as replayer inputs by @fmeum in #11
  • implement first version of the create command by @jochil in #8
  • move commands into subpackages by @jochil in #12
  • Automatically generate command documentation and update wiki by @jochil in #14
  • Support -C flag to change directory by @adombeck in #15
  • remove jazzer by @jochil in #68
  • Run tests with -v flag by @adombeck in #66
  • chore(deps): bump github.com/gookit/color from 1.5.0 to 1.5.1 by @dependabot in #73
  • Run make fmt by @adombeck in #72
  • Fix error printing by @adombeck in #69
  • Improve terminal colors by @adombeck in #67
  • chore: move testdata to integration directory by @jochil in #70
  • Remove bazel dependency by @adombeck in #71
  • feat: support c/c++ language server (ccls) by @jochil in #74
  • finder: Fix cifuzz include path by @adombeck in #75
  • feat: make sure that a newly created fuzz target is compilable by @jochil in #77
  • fix: no finding when crashing on empty input (CLI-226) by @jochil in #79
  • Handle expected error that cifuzz.yaml can't be found by @adombeck in #78
  • improve documentation by @jochil in #58
  • chore(deps): bump github.com/stretchr/testify from 1.7.2 to 1.7.3 by @dependabot in #81
  • Fuzz test shell completion by @adombeck in #76
  • Move the runner package integration tests to the runner package by @adombeck in #80
  • chore(deps): bump github.com/stretchr/testify from 1.7.3 to 1.7.4 by @dependabot in #84
  • chore(deps): bump github.com/pterm/pterm from 0.12.41 to 0.12.42 by @dependabot in #85
  • chore(deps): bump github.com/spf13/cobra from 1.4.0 to 1.5.0 by @dependabot in #83
  • installer: Use a better installation directory for the cmake config by @adombeck in #88
  • Add Code Intelligence logo to README by @HenrichN in #89
  • Simplify cifuzz create by @adombeck in #86
  • Fix "unexpected exit code" error printed when terminated via signal by @adombeck in #91
  • chore(deps): bump github.com/stretchr/testify from 1.7.4 to 1.7.5 by @dependabot in #94
  • chore(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0 by @dependabot in #95
  • executil: Fix race when using CommandContext by @adombeck in #87
  • Autocompletion in dialogs by @adombeck in #90
  • Add cifuzz run integration test for CMake project by @adombeck in #92
  • readme: Mention that LLVM >= 11 is required by @fmeum in #97
  • fileutil: Fix PrettifyPath for paths such as ..some/dir by @fmeum in #100
  • run: Use CMake integration info file to find fuzz test executable by @fmeum in #101
  • run: Improve fuzz test executable finding heuristic by @fmeum in #99
  • cleanup: remove tmp folder by @florianGla in #103
  • runner: Print startup stderr in case of an unexpected exit error by @fmeum in #98
  • integration-tests: Use deterministic random seed by @adombeck in #106
  • util: Handle more special cases in PrettifyPath by @fmeum in #102
  • envutil: Use os.PathListSeparator by @adombeck in #107
  • runner: Fix startup output printed as bytes by @adombeck in #109
  • cmake: Emit information about transitive runtime deps of fuzz tests by @fmeum in #64
  • integration-tests: Print fuzzer output to ease debugging by @adombeck in #113
  • Call fsync after copying by @adombeck in #111
  • cmake: Emit cache args in deterministic order and remove spaces by @fmeum in #114
  • installer: Execute sync(1) after installation by @adombeck in #118
  • integration-tests: fsync changes to fuzz test before invoking CMake by @fmeum in #104
  • Ensure that seeds dir paths are absolute by @adombeck in #112
  • docs: replace "fuzz target" with "fuzz test" for user facing docs by @jochil in #117
  • dialog: Fix InputFilename including output printed by the shell by @adombeck in #115
  • install: Fix relative install dir by @florianGla in #120
  • fix: adjust target names after renaming fuzz test by @jochil in #123
  • runner tests: Log to buffer instead modifying os.Stderr by @adombeck in #124
  • Implement cifuzz bundle by @fmeum in #110
  • add gocritic linter by @jochil in #125
  • integration-tests: Avoid make not rebuilding fuzz test by @adombeck in #122
  • Revert "TMP: integration-tests: Close files eagerly" by @fmeum in #130
  • Revert commits which call sync or fsync by @adombeck in #131
  • runner tests: Fix issues when running tests in parallel by @adombeck in #132
  • Run runner tests in parallel by @adombeck in #126
  • cmake: Print stderr on exec.Cmd failure by @fmeum in #134
  • Include seed directory in artifact bundles by @fmeum in #121
  • Add external libraries to fuzzing artifact archives by @fmeum in #133
  • log: Make log.Error print the error message if no message is provided by @adombeck in #140
  • executil: Do not print a stack trace for ExitErrors by @fmeum in #138
  • cmake: Fix for projects that don't enable the C language by @fmeum in #139
  • bundle: Allow bundling multiple or all fuzz tests by @fmeum in #137
  • run: Always use directory below .cifuzz-corpus as generated corpus dir by @adombeck in #136
  • cifuzz.h: Suppress unused argument warning for FUZZ_TEST_SETUP by @fmeum in #141
  • dialog: Don't ask for file path in dialogs by @adombeck in #143
  • integration-tests: Enable on Windows by @fmeum in #96
  • Make cobra return an IncorrectUsageError by @adombeck in #147
  • cmake: Ship FuzzedDataProvider by @fmeum in #148
  • improve documentation by @jochil in #135
  • store crashing input to .cifuzz-findings by @jochil in #144
  • Fix include path by @adombeck in #150
  • Fix integration test on windows by @adombeck in #152
  • improve build system instructions by @0roman in #153
  • integration-tests: Limit runs rather than time by @fmeum in #154
  • bundle: Add a coverage build to the archive by @fmeum in #145
  • util: Don't fail when trying to kill an already terminated process by @fmeum in #155
  • bundle: Set build_dir to the project rather than the build dir by @fmeum in #157
  • CLI-164: automatic e2e testing for supported operating systems by @jochil in #82
  • flogla/add crashing input to seed corpus by @florianGla in #119
  • Create CODEOWNERS by @fmeum in #158
  • installer: Fix race when running multiple installers in parallel by @adombeck in #160
  • Use viper to read cifuzz.yaml by @adombeck in #146
  • run: Suggest running without sandboxing by @adombeck in #161
  • Fix building with unknown build system by @adombeck in #151
  • integration-tests: Fix incorrect argument passed to libFuzzer by @adombeck in #163
  • make minimum version in example match the README by @vargen in #164
  • runner: Avoid printing "libminijail: child process exited with status" by @adombeck in #162
  • Explain sandboxing feature in README by @adombeck in #165
  • run: Fix "Starting from enpty corpus" printed by @adombeck in #166
  • parser: Refactor away error-prone err == nil check by @fmeum in #168
  • minijail: Fix regex in output filter by @adombeck in #171
  • build(deps): bump github.com/pterm/pterm from 0.12.42 to 0.12.44 by @dependabot in #172
  • cmake: Build the replayer with the fuzz test by @fmeum in #169
  • all: Let the caller handle ExecErrors by @adombeck in #170
  • Adjust description of use-sandbox flag (added missing "use-") by @pnoltof in #175
  • build(deps): bump github.com/pterm/pterm from 0.12.44 to 0.12.45 by @dependabot in #177
  • Rename "unknown" build system to "other" by @adombeck in #178
  • refactor: drop promptui in favor of pterm by @jochil in #173
  • Add link to sandboxing doc to sandboxing message by @adombeck in #174
  • root: Add version flag by @florianGla in #179
  • cmake: Represent coverage builds as a combination of engine and sanitizer by @fmeum in #181
  • Add coverage command by @adombeck in #176
  • run: Fix default seed corpus not used by @adombeck in #167
  • examples/make: Add libapi.so to .gitignore by @adombeck in #183
  • Automatically copy crashing input by @adombeck in #182
  • Highlight notes by @adombeck in #185
  • fix(docs): give write permission to docs pipeline by @jochil in #186
  • build installer by @florianGla in #180
  • release pipelines by @jochil in #184

New Contributors

Full Changelog: https://github.com/CodeIntelligenceTesting/cifuzz/commits/v0.1.0

Don't miss a new cifuzz release

NewReleases is sending notifications on new releases.