# FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding # Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # Any non-GPL usage of this software or parts of this software is strictly # forbidden. # # The "appropriate copyright message" mentioned in section 2c of the GPLv2 # must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" # # Commercial non-GPL licensing of this software is possible. # For more info contact Nero AG through Mpeg4AAClicense@nero.com. name: OSS-Fuzz on: push: branches: [master] pull_request: types: [opened, reopened, labeled, synchronize] concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: Fuzzing: runs-on: ubuntu-latest strategy: fail-fast: false matrix: sanitizer: [address, undefined, memory] steps: - name: Build Fuzzers (${{ matrix.sanitizer }}) id: build uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master with: oss-fuzz-project-name: 'faad2' language: c sanitizer: ${{ matrix.sanitizer }} - name: Run Fuzzers (${{ matrix.sanitizer }}) uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master with: oss-fuzz-project-name: 'faad' language: c sanitizer: ${{ matrix.sanitizer }} fuzz-seconds: 600 - name: Upload Crash uses: actions/upload-artifact@v3 if: failure() && steps.build.outcome == 'success' with: name: ${{ matrix.sanitizer }}-artifacts path: ./out/artifacts