mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-06 15:21:32 +00:00
commit
66c2bb3994
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
|||||||
runs-on: "${{ matrix.os }}"
|
runs-on: "${{ matrix.os }}"
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-24.04, ubuntu-22.04]
|
os: [ubuntu-24.04, ubuntu-22.04, ubuntu-24.04-arm]
|
||||||
env:
|
env:
|
||||||
AFL_SKIP_CPUFREQ: 1
|
AFL_SKIP_CPUFREQ: 1
|
||||||
AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES: 1
|
AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES: 1
|
||||||
|
32
.github/workflows/container.yml
vendored
32
.github/workflows/container.yml
vendored
@ -35,20 +35,41 @@ jobs:
|
|||||||
apt-get install -y libcmocka-dev &&
|
apt-get install -y libcmocka-dev &&
|
||||||
make -i tests
|
make -i tests
|
||||||
"
|
"
|
||||||
|
build-and-test-arm64:
|
||||||
|
name: Test arm64 image
|
||||||
|
runs-on: ubuntu-24.04-arm
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
- name: Build arm64
|
||||||
|
uses: docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
tags: aflplusplus:test-arm64
|
||||||
|
load: true
|
||||||
|
cache-to: type=gha,mode=max
|
||||||
|
build-args: |
|
||||||
|
TEST_BUILD=1
|
||||||
|
- name: Test arm64
|
||||||
|
run: >
|
||||||
|
docker run --rm aflplusplus:test-arm64 bash -c "
|
||||||
|
apt-get update &&
|
||||||
|
apt-get install -y libcmocka-dev &&
|
||||||
|
make -i tests
|
||||||
|
"
|
||||||
|
|
||||||
push:
|
push:
|
||||||
name: Push amd64 and arm64 images
|
name: Push amd64 and arm64 images
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs:
|
needs:
|
||||||
- build-and-test-amd64
|
- build-and-test-amd64
|
||||||
|
- build-and-test-arm64
|
||||||
if: ${{ github.event_name == 'push' && github.repository == 'AFLplusplus/AFLplusplus' }}
|
if: ${{ github.event_name == 'push' && github.repository == 'AFLplusplus/AFLplusplus' }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
#- name: Set up QEMU
|
|
||||||
# uses: docker/setup-qemu-action@v2
|
|
||||||
# with:
|
|
||||||
# platforms: arm64
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v2
|
uses: docker/setup-buildx-action@v2
|
||||||
- name: Login to docker.io
|
- name: Login to docker.io
|
||||||
@ -69,8 +90,7 @@ jobs:
|
|||||||
uses: docker/build-push-action@v3
|
uses: docker/build-push-action@v3
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64,linux/arm64
|
||||||
#,linux/arm64
|
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ steps.push-tags.outputs.PUSH_TAGS }}
|
tags: ${{ steps.push-tags.outputs.PUSH_TAGS }}
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
|
@ -106,6 +106,7 @@ Among others, the following features and patches have been integrated:
|
|||||||
* Win32 PE binary-only fuzzing with QEMU and Wine
|
* Win32 PE binary-only fuzzing with QEMU and Wine
|
||||||
* AFLfast's power schedules by Marcel Böhme:
|
* AFLfast's power schedules by Marcel Böhme:
|
||||||
[https://github.com/mboehme/aflfast](https://github.com/mboehme/aflfast)
|
[https://github.com/mboehme/aflfast](https://github.com/mboehme/aflfast)
|
||||||
|
* The fast deterministic stage by Han Zheng: [https://github.com/hexhive/mendelFuzz-Artifact/](https://github.com/hexhive/mendelFuzz-Artifact/)
|
||||||
* The MOpt mutator:
|
* The MOpt mutator:
|
||||||
[https://github.com/puppet-meteor/MOpt-AFL](https://github.com/puppet-meteor/MOpt-AFL)
|
[https://github.com/puppet-meteor/MOpt-AFL](https://github.com/puppet-meteor/MOpt-AFL)
|
||||||
* LLVM mode Ngram coverage by Adrian Herrera
|
* LLVM mode Ngram coverage by Adrian Herrera
|
||||||
|
@ -392,10 +392,6 @@ __attribute__((weak)) int LLVMFuzzerRunDriver(
|
|||||||
|
|
||||||
__afl_manual_init();
|
__afl_manual_init();
|
||||||
|
|
||||||
// Call LLVMFuzzerTestOneInput here so that coverage caused by initialization
|
|
||||||
// on the first execution of LLVMFuzzerTestOneInput is ignored.
|
|
||||||
callback(dummy_input, 4);
|
|
||||||
|
|
||||||
__asan_poison_memory_region(__afl_fuzz_ptr, MAX_FILE);
|
__asan_poison_memory_region(__afl_fuzz_ptr, MAX_FILE);
|
||||||
size_t prev_length = 0;
|
size_t prev_length = 0;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user