Skip to content

push to stable #2486

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 89 commits into from
Jun 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
8618fbc
Let user pass their own CPU_TARGET in test-pre.sh
justuswilhelm Apr 29, 2025
91974bf
Clean up test-pre.sh bash syntax
justuswilhelm Jun 3, 2025
d25efff
Merge pull request #2461 from jwpconsulting/env-user-variable
vanhauser-thc Jun 4, 2025
c8d1b66
add AFL_FORKSRV_UID and AFL_FORKSRV_GID env vars
graux-pierre Apr 23, 2025
ee480ae
Enable qemu persistent mode tests for mipsel
justuswilhelm Jun 3, 2025
9951c38
Document QEMU persistent hook on mipsel
justuswilhelm Jun 4, 2025
0d495e0
Merge pull request #2463 from jwpconsulting/mipsel-persistent-hook
vanhauser-thc Jun 5, 2025
ad44e30
Replace FATAL by WARNF when using another power scheduling with -M
alexandredoyen29 Jun 6, 2025
1c7176b
Better message
alexandredoyen29 Jun 6, 2025
f9afbc8
Merge pull request #2464 from alexandredoyen29/warnf_for_setting_sche…
vanhauser-thc Jun 6, 2025
a16bc3f
instrumentation: drop removed TODO flag from GCC plugins
thesamesam Jun 8, 2025
7d017f1
chore: modify help strings
e-kwsm Jun 9, 2025
0975c8d
refactor!: drop python2
e-kwsm Jun 9, 2025
af0d023
Merge pull request #2466 from e-kwsm/python2
vanhauser-thc Jun 9, 2025
a63da7c
Merge pull request #2465 from thesamesam/gcc16
vanhauser-thc Jun 9, 2025
00e5449
fix and clean UID/GID modification
graux-pierre Jun 9, 2025
7819155
Merge pull request #2462 from graux-pierre/dev
vanhauser-thc Jun 9, 2025
6f381d3
update Dockerfile to 24.04
vanhauser-thc Jun 10, 2025
b08f13c
code format
vanhauser-thc Jun 10, 2025
d6f27ad
Fix persistent qemu_mode test base address on aarch64
refi64 Jun 13, 2025
c0c2c69
Merge pull request #2469 from refi64/persistent-qemu-a64
vanhauser-thc Jun 13, 2025
19d8288
Fix a cmplog rtn instrumentation check if all vectors are empty.
am009 Jun 16, 2025
04bb316
Merge pull request #2472 from am009/dev-250616-fixcheck
vanhauser-thc Jun 16, 2025
83fca1a
AFL_EXITPOINT support
vanhauser-thc Jun 18, 2025
8aa3b42
fix __afl_end_testcase for proxy example
vanhauser-thc Jun 20, 2025
2fbe03a
add ci?
tokatoka Jun 20, 2025
fdab500
fix
tokatoka Jun 20, 2025
560cd44
tmate
tokatoka Jun 20, 2025
064a580
from different source
tokatoka Jun 20, 2025
cd0c04a
concurrency
tokatoka Jun 20, 2025
cb7ec64
version
tokatoka Jun 20, 2025
a32895f
concurrency
tokatoka Jun 20, 2025
c0152c1
version
tokatoka Jun 20, 2025
3fbee16
17-20
tokatoka Jun 20, 2025
2db492d
jammy
tokatoka Jun 20, 2025
8501a1d
not all
tokatoka Jun 20, 2025
a286787
libclangrt
tokatoka Jun 20, 2025
b056c5b
yes
tokatoka Jun 20, 2025
b87f030
not for 15
tokatoka Jun 20, 2025
dd9ef0c
syntax error
tokatoka Jun 20, 2025
d12049b
string?
tokatoka Jun 20, 2025
1c2b9de
??
tokatoka Jun 20, 2025
318aa8c
ignore shitty llvm version
tokatoka Jun 20, 2025
4c0158d
syntax
tokatoka Jun 20, 2025
f986511
syntax 2
tokatoka Jun 20, 2025
7f38638
separate
tokatoka Jun 20, 2025
c4d9249
2
tokatoka Jun 20, 2025
94d7f36
separate
tokatoka Jun 20, 2025
257d7b2
pls
tokatoka Jun 20, 2025
f28e412
pls
tokatoka Jun 20, 2025
b276faf
Merge pull request #2473 from tokatoka/stable
vanhauser-thc Jun 20, 2025
bc127da
remove old macros from cmplog passes
tokatoka Jun 21, 2025
1c66a0d
actually detect error
tokatoka Jun 21, 2025
e2b74c9
fixes..
tokatoka Jun 21, 2025
8130b69
ci
tokatoka Jun 21, 2025
d0e1d06
ci
tokatoka Jun 21, 2025
8b42dfc
ci
tokatoka Jun 21, 2025
d3c6833
ci
tokatoka Jun 21, 2025
6921b45
Merge pull request #2475 from tokatoka/cmplog_remove_macros
vanhauser-thc Jun 21, 2025
0fb86cd
nits
vanhauser-thc Jun 21, 2025
b28077c
remove for afl-llvm-commons
tokatoka Jun 21, 2025
c27c357
CI
tokatoka Jun 21, 2025
e2ac0b0
split and injection
tokatoka Jun 21, 2025
f516b98
sancov
tokatoka Jun 21, 2025
ba99a8c
Merge pull request #2476 from tokatoka/remaining
vanhauser-thc Jun 21, 2025
1a9a28a
Merge pull request #2477 from tokatoka/split
vanhauser-thc Jun 21, 2025
a7c7634
Merge pull request #2478 from tokatoka/sancov
vanhauser-thc Jun 21, 2025
8c9b905
nits
vanhauser-thc Jun 21, 2025
900b801
qemu_mode block coverage
vanhauser-thc Jun 23, 2025
9580bd5
update nyx
vanhauser-thc Jun 25, 2025
a661110
fix import_first for fast resume
vanhauser-thc Jun 25, 2025
9d3cd92
fix sync to non-afl++ instances
vanhauser-thc Jun 25, 2025
818334d
fix syncing to non-afl++ fuzzers and be an early main
vanhauser-thc Jun 26, 2025
064402c
update nyx
vanhauser-thc Jun 26, 2025
9159aec
allow -Q with ignore_problems
vanhauser-thc Jun 26, 2025
bf09da6
fast resume fix
vanhauser-thc Jun 27, 2025
1a2fa1c
minor man page help improvements
vanhauser-thc Jun 28, 2025
41f515e
fix for nyx mode
kcwu Jun 9, 2025
4f6e425
format with black
kcwu Jun 23, 2025
2d284a0
get nyx AFL_MAP_SIZE via libnyx
kcwu Jun 23, 2025
6d3805c
update nyx submodules
schumilo Jun 27, 2025
11dd97f
fix nyx bug in afl-showmap
schumilo Jun 27, 2025
20d2bb3
nyx_mode: fix mem leak in afl_fsrv_start
schumilo Jun 28, 2025
3e52a6d
fix nyx mode in afl-showmap (read stdin input into a buffer before pa…
schumilo Jun 28, 2025
19dfb85
fix issue with nyx mode in afl-cmin.py (split output by newline)
schumilo Jun 28, 2025
f23f03b
afl-showmap: restore latest code after git cherry-pick
schumilo Jun 28, 2025
5c7cc1a
Merge pull request #2485 from schumilo/dev
vanhauser-thc Jun 28, 2025
c17f9eb
code format
vanhauser-thc Jun 28, 2025
5348754
v4.33c
vanhauser-thc Jun 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 73 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,79 @@ on:
branches:
- dev # No need for stable-pull-request, as that equals dev-push

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
check-compiler-passes-old:
runs-on: ubuntu-22.04
strategy:
matrix:
version: [14, 15]
env:
AFL_SKIP_CPUFREQ: 1
AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES: 1
steps:
- uses: actions/checkout@v4
- name: update
run: sudo apt-get update && sudo apt-get upgrade -y
- name: debug
run: apt-cache search plugin-dev | grep gcc-; echo; apt-cache search clang-format- | grep clang-format-
- name: install packages
run: sudo apt-get install -y -m -f build-essential git libtool libtool-bin automake flex bison libglib2.0-0 libc++-dev findutils libcmocka-dev python3-dev python3-setuptools ninja-build python3-pip gcc-12-plugin-dev
- name: install llvm-tools
run: sudo apt install -y clang-${{ matrix.version }} llvm-${{ matrix.version }}
- name: install clang-rt (for llvm 15)
# because ubuntu-22.04 already has this package
if: matrix.version != '15'
run: sudo apt install -y libclang-${{ matrix.version }}-dev
- name: compiler installed
run: gcc -v; echo; clang -v
- name: build afl++
run: export NO_NYX=1; export ASAN_BUILD=1; export LLVM_CONFIG=llvm-config-${{ matrix.version }}; make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-${{ matrix.version }} all
- name: Check llvm passes
run: make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-${{ matrix.version }} llvm-build-test || exit 1
- name: run tests
run: sudo -E ./afl-system-config; make tests
check-compiler-passes-new:
runs-on: ubuntu-24.04
strategy:
matrix:
version: [16, 17, 18, 19, 20]
env:
AFL_SKIP_CPUFREQ: 1
AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES: 1
steps:
- uses: actions/checkout@v4
- name: update
run: sudo apt-get update && sudo apt-get upgrade -y
- name: debug
run: apt-cache search plugin-dev | grep gcc-; echo; apt-cache search clang-format- | grep clang-format-
- name: install packages
run: sudo apt-get install -y -m -f build-essential git libtool libtool-bin automake flex bison libglib2.0-0 libc++-dev findutils libcmocka-dev python3-dev python3-setuptools ninja-build python3-pip gcc-12-plugin-dev
- name: install llvm-tools (20)
if: matrix.version == '20'
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh ${{ matrix.version }}
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ matrix.version }} 200
- name: install llvm-tools
if: matrix.version != '20'
run: sudo apt install -y clang-${{ matrix.version }} llvm-${{ matrix.version }}
- name: install clang-rt
if: matrix.version != '20'
run: sudo apt install -y libclang-${{ matrix.version }}-dev
- name: compiler installed
run: gcc -v; echo; clang -v
- name: build afl++
run: export NO_NYX=1; export ASAN_BUILD=1; export LLVM_CONFIG=llvm-config-${{ matrix.version }}; make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-${{ matrix.version }} all
- name: Check llvm passes
run: make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-${{ matrix.version }} llvm-build-test || exit 1
- name: run tests
run: sudo -E ./afl-system-config; make tests

linux:
runs-on: "${{ matrix.os }}"
strategy:
Expand All @@ -31,7 +103,7 @@ jobs:
- name: install gcc plugin
run: sudo apt-get install -y -m -f --install-suggests $(readlink /usr/bin/gcc)-plugin-dev
- name: build afl++
run: export NO_NYX=1; export ASAN_BUILD=1; export LLVM_CONFIG=llvm-config-12; make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-12 distrib
run: export NO_NYX=1; export ASAN_BUILD=1; export LLVM_CONFIG=llvm-config-15; make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-15 distrib
- name: run tests
run: sudo -E ./afl-system-config; make tests
macos:
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/code-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ on:
branches:
- dev # No need for stable-pull-request, as that equals dev-push

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
code-format-check:
name: Check code format
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ on:
branches:
- dev # No need for stable-pull-request, as that equals dev-push

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
analyze:
name: Analyze
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ on:
branches:
- dev # No need for stable-pull-request, as that equals dev-push

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-and-test-amd64:
name: Test amd64 image
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/rust_custom_mutator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ on:
branches:
- dev # No need for stable-pull-request, as that equals dev-push

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
test:
name: Test Rust Custom Mutator Support
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ utils/persistent_mode/persistent_demo
utils/persistent_mode/persistent_demo_new
utils/persistent_mode/persistent_demo_new_compat
utils/persistent_mode/test-instr
utils/qemu_persistent_hook/mipsel_test
utils/qemu_persistent_hook/test
utils/replay_record/persistent_demo_replay
utils/replay_record/persistent_demo_replay_compat
utils/replay_record/persistent_demo_replay_argparse
Expand Down
12 changes: 6 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# GCC 11 is used instead of 12 because genhtml for afl-cov doesn't like it.
#

FROM ubuntu:22.04 AS aflplusplus
FROM ubuntu:24.04 AS aflplusplus
LABEL "maintainer"="AFL++ team <afl@aflplus.plus>"
LABEL "about"="AFLplusplus container image"

Expand All @@ -17,7 +17,7 @@ ENV NO_NYX=1

### Only change these if you know what you are doing:
# Current recommended LLVM version is 16
ENV LLVM_VERSION=16
ENV LLVM_VERSION=19
# GCC 12 is producing compile errors for some targets so we stay at GCC 11
ENV GCC_VERSION=11

Expand All @@ -32,8 +32,8 @@ RUN apt-get update && apt-get full-upgrade -y && \
apt-get install -y --no-install-recommends wget ca-certificates apt-utils && \
rm -rf /var/lib/apt/lists/*

RUN echo "deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key] http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${LLVM_VERSION} main" > /etc/apt/sources.list.d/llvm.list && \
wget -qO /etc/apt/keyrings/llvm-snapshot.gpg.key https://apt.llvm.org/llvm-snapshot.gpg.key
#RUN echo "deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key] http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${LLVM_VERSION} main" > /etc/apt/sources.list.d/llvm.list && \
# wget -qO /etc/apt/keyrings/llvm-snapshot.gpg.key https://apt.llvm.org/llvm-snapshot.gpg.key

RUN apt-get update && \
apt-get -y install --no-install-recommends \
Expand Down Expand Up @@ -65,8 +65,8 @@ RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_VERSION} 0
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${LLVM_VERSION} 0 && \
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${LLVM_VERSION} 0

RUN wget -qO- https://sh.rustup.rs | CARGO_HOME=/etc/cargo sh -s -- -y -q --no-modify-path
ENV PATH=$PATH:/etc/cargo/bin
#RUN wget -qO- https://sh.rustup.rs | CARGO_HOME=/etc/cargo sh -s -- -y -q --no-modify-path
#ENV PATH=$PATH:/etc/cargo/bin

RUN apt clean -y

Expand Down
16 changes: 5 additions & 11 deletions GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -255,17 +255,6 @@ ifeq "$(PYTHON_INCLUDE)" ""
endif
endif

# Old Ubuntu and others dont have python/python2-config so we hardcode 2.7
ifeq "$(PYTHON_INCLUDE)" ""
ifneq "$(shell command -v python2.7 2>/dev/null)" ""
ifneq "$(shell command -v python2.7-config 2>/dev/null)" ""
PYTHON_INCLUDE := $(shell python2.7-config --includes)
PYTHON_LIB := $(shell python2.7-config --ldflags)
PYTHON_VERSION := $(strip $(shell python2.7 --version 2>&1))
endif
endif
endif

ifdef SOURCE_DATE_EPOCH
BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+%Y-%m-%d" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "+%Y-%m-%d" 2>/dev/null || date -u "+%Y-%m-%d")
else
Expand Down Expand Up @@ -356,6 +345,11 @@ llvm:
-$(MAKE) -j$(nproc) -f GNUmakefile.llvm
@test -e afl-cc || { echo "[-] Compiling afl-cc failed. You seem not to have a working compiler." ; exit 1; }

llvm-build-test:
$(MAKE) -j$(nproc) -f GNUmakefile.llvm
@test -e afl-cc || { echo "[-] Compiling afl-cc failed. You seem not to have a working compiler." ; exit 1; }


.PHONY: gcc_plugin
gcc_plugin:
ifneq "$(SYS)" "Darwin"
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

<img align="right" src="https://raw.githubusercontent.com/AFLplusplus/Website/main/static/aflpp_bg.svg" alt="AFL++ logo" width="250" height="250">

Release version: [4.32c](https://github.com/AFLplusplus/AFLplusplus/releases)
Release version: [4.33c](https://github.com/AFLplusplus/AFLplusplus/releases)

GitHub version: 4.33a
GitHub version: 4.33c

Repository:
[https://github.com/AFLplusplus/AFLplusplus](https://github.com/AFLplusplus/AFLplusplus)
Expand Down
4 changes: 3 additions & 1 deletion afl-addseeds
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/bin/sh

test -z "$1" -o "$1" = "-h" -o "$1" = "--help" && {
test -z "$1" -o "$1" = "-h" -o "$1" = "-hh" -o "$1" = "--help" && {
echo afl-addseeds by Marc Heuse
echo
echo Syntax: afl-addseeds -o afl-out-dir [-i seed_file_or_dir] seed_file_or_seed_dir seed_file_or_seed_dir ...
echo
echo Options:
Expand Down
3 changes: 3 additions & 0 deletions afl-cmin
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ THISPATH=`dirname ${0}`

# call afl-cmin.py if it can be executed successfully.
if $THISPATH/afl-cmin.py --help > /dev/null 2>&1; then
test "$1" = "-h" -o "$1" = "-hh" && { echo afl-cmin.py; echo; }
exec $THISPATH/afl-cmin.py "$@"
fi

Expand Down Expand Up @@ -107,6 +108,8 @@ function getopt(argc, argv, options, thisopt, i)

function usage() {
print \
"afl-cmin\n" \
"\n" \
"afl-cmin [ options ] -- /path/to/target_app [ ... ]\n" \
"\n" \
"Required parameters:\n" \
Expand Down
Loading
Loading
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy