You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(clusterfuzzlite): ASan-only fuzzing — drop unsupported undefined sanitizer (#130)
## What
Follow-up to #129. #129 fixed the ClusterFuzzLite **build** (clean
`Dockerfile` + `build.sh`), and CI confirmed it works — the image builds
and `fuzz_main` compiles + stages. The only remaining red was the
**`undefined` sanitizer** matrix variant:
```
BAD BUILD: UBSan build of fuzz_main seems to be compiled with ASan.
ERROR: 100.0% of fuzz targets seem to be broken.
```
This is fundamental, not a config typo: **Rust/cargo-fuzz cannot emit a
valid UndefinedBehaviorSanitizer binary** — it links ASan regardless —
so OSS-Fuzz's `bad_build_check` rejects it. The `undefined` job could
never produce real UBSan coverage. Standard Rust OSS-Fuzz practice is
ASan-only.
## Changes
- `cflite_pr.yml` / `cflite_batch.yml`: matrix `sanitizer: [address]` —
removes the broken `PR (undefined)` job.
- `.clusterfuzzlite/project.yaml`: `sanitizers: [address]`.
- `.clusterfuzzlite/build.sh`: pass `--sanitizer
"${SANITIZER:-address}"` explicitly.
Each change carries an inline comment explaining the Rust/UBSan
limitation. The `address` variant (whose build already works per #129)
is retained, so ASan fuzzing continues.
## Verification
`bash -n .clusterfuzzlite/build.sh` OK; config greps confirm `[address]`
everywhere. The full OSS-Fuzz image build isn't runnable in this
environment, so this is correct-by-spec — the `address` job exercises it
in CI.
## Out of scope (separate, tracked)
The `Validate Hypatia Baseline` red is the pre-existing Hypatia backlog
(issue #34): the now-working analyzer reports 25 findings ≥ medium
against an empty `.hypatia-baseline.json`. Resolving it needs the actual
findings (artifact `hypatia-scan-findings`/the Security tab), which
aren't reachable from the CI sandbox — to be fixed at source once the
list is in hand, per the repo's fix-don't-suppress discipline.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01BwV2DWsjkBiNP3oscimMLV
---
_Generated by [Claude
Code](https://claude.ai/code/session_01BwV2DWsjkBiNP3oscimMLV)_
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments