From 069982657e5bbaad80e99ff03a923ac482b07aed Mon Sep 17 00:00:00 2001 From: Matthew Knight Date: Thu, 5 Mar 2026 19:22:22 -0800 Subject: [PATCH] Further improvements --- actions/cairn-zig-fuzz/action.yml | 25 ++++++++++++------------- cmd/cairn/main.go | 4 ++-- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/actions/cairn-zig-fuzz/action.yml b/actions/cairn-zig-fuzz/action.yml index 501b13d..3fe24bb 100644 --- a/actions/cairn-zig-fuzz/action.yml +++ b/actions/cairn-zig-fuzz/action.yml @@ -79,7 +79,7 @@ runs: FUZZ_BINARY: ${{ inputs.fuzz_binary }} CORPUS_DIR: ${{ inputs.corpus_dir }} DURATION: ${{ inputs.duration }} - AFL_ARGS: ${{ inputs.afl_args }} + EXTRA_AFL_ARGS: ${{ inputs.afl_args }} TARGET: ${{ inputs.target }} run: | set -eu @@ -160,19 +160,18 @@ runs: AFL_SKIP_CPUFREQ=1 \ AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES=1 \ AFL_NO_CRASH_README=1 \ - AFL_EXIT_ON_TIME=60 \ - timeout "${DURATION}s" \ - afl-fuzz \ - -i "${SEEDS}" \ - -o "${FINDINGS}" \ - ${AFL_ARGS} \ - -- "${FUZZ_BIN}" \ - || AFL_EXIT=$? + afl-fuzz \ + -V "${DURATION}" \ + -i "${SEEDS}" \ + -o "${FINDINGS}" \ + ${EXTRA_AFL_ARGS} \ + -- "${FUZZ_BIN}" \ + || AFL_EXIT=$? - if [ "${AFL_EXIT}" -eq 124 ]; then - echo "AFL++ ran for full duration (${DURATION}s)" - elif [ "${AFL_EXIT}" -eq 0 ]; then - echo "AFL++ exited normally (coverage stagnated)" + if [ "${AFL_EXIT}" -eq 0 ]; then + echo "AFL++ exited normally (completed run)" + elif [ "${AFL_EXIT}" -eq 1 ]; then + echo "AFL++ exited after reaching duration limit (${DURATION}s)" else echo "AFL++ exited with code ${AFL_EXIT}" fi diff --git a/cmd/cairn/main.go b/cmd/cairn/main.go index c690754..b750514 100644 --- a/cmd/cairn/main.go +++ b/cmd/cairn/main.go @@ -211,7 +211,7 @@ func cmdUpload(args []string) error { if err := json.Unmarshal(body, &result); err != nil { return fmt.Errorf("parsing response: %w", err) } - fmt.Printf("Artifact uploaded: %s\n", result["id"]) + fmt.Printf("Artifact uploaded: %v\n", result["id"]) return nil } @@ -333,7 +333,7 @@ func cmdCampaign(subcmd string, args []string) error { if err := json.Unmarshal(respBody, &result); err != nil { return fmt.Errorf("parsing response: %w", err) } - fmt.Printf("Campaign started: %s\n", result["id"]) + fmt.Printf("Campaign started: %v\n", result["id"]) case "finish": var id string