Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/security/nss/automation/ossfuzz/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 2 kB image not shown  

Quelle  build.sh

  Sprache: Shell
 

#!/bin/bash -eu
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
################################################################################

# List of targets disabled for oss-fuzz.
declare -A disabled=()

# Helper function that copies a fuzzer binary and its seed corpus.
copy_fuzzer()
{
    local fuzzer=$1
    local name=$2

    # Copy the binary.
    cp ../dist/Debug/bin/$fuzzer $OUT/$name

    # Zip and copy the corpus, if any.
    if [ -d "$SRC/nss-corpus/$name" ]; then
        zip $OUT/${name}_seed_corpus.zip $SRC/nss-corpus/$name/*
    fi
}

# Copy libFuzzer options
cp fuzz/options/*.options $OUT/

# Build the library (non-TLS fuzzing mode).
CXX="$CXX -stdlib=libc++" LDFLAGS="$CFLAGS" \
    ./build.sh -c -v --fuzz=oss --fuzz --disable-tests

# Copy fuzzing targets.
for fuzzer in $(find ../dist/Debug/bin -name "nssfuzz-*" -printf "%f\n"); do
    name=${fuzzer:8}
    if [ -z "${disabled[$name]:-}" ]; then
        [ -f "fuzz/options/${name}-no_fuzzer_mode.options" ] && name="${name}-no_fuzzer_mode"
        copy_fuzzer $fuzzer $name
    fi
done

# Build Cryptofuzz.
# We want to build with the non-TLS fuzzing mode version of NSS.
./automation/taskcluster/scripts/build_cryptofuzz.sh

# Copy dictionary and fuzz target.
cp ./cryptofuzz/cryptofuzz-dict.txt $OUT/cryptofuzz.dict
cp ./cryptofuzz/cryptofuzz $OUT/cryptofuzz

# Zip and copy the corpus, if any.
if [ -d "$SRC/nss-corpus/cryptofuzz" ]; then
    zip $OUT/cryptofuzz_seed_corpus.zip $SRC/nss-corpus/cryptofuzz/*
fi

# TLS Fuzzing mode: Totally Lacking Security
# This mode disables a lot of cryptography to help the fuzzer.
# It was originally used for the TLS-specific fuzzers but has been generalized.
# Build the library again (TLS fuzzing mode).
CXX="$CXX -stdlib=libc++" LDFLAGS="$CFLAGS" \
    ./build.sh -c -v --fuzz=oss --fuzz=tls --disable-tests

for fuzzer in $(find ../dist/Debug/bin -name "nssfuzz-*" -printf "%f\n"); do
     name=${fuzzer:8}
     if [ -z "${disabled[$name]:-}" ] && [ -f "fuzz/options/${name}-no_fuzzer_mode.options" ]; then
        copy_fuzzer "$fuzzer" "$name"
    fi
done

Messung V0.5 in Prozent
C=89 H=96 G=92

¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet am  2026-08-25) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.