On 01/11/20 22:22, Alexander Bulekov wrote:
> OSS-Fuzz changed the way it scans for fuzzers in $DEST_DIR. The new code
> also scans subdirectories for fuzzers. This means that OSS-Fuzz is
> considering bin/qemu-fuzz-i386 as an independent fuzzer (it is not - it
> requires a --fuzz-target argument). This has led to coverage-build
> failures and false crash reports. To work around this, we take advantage
> of OSS-Fuzz' filename extension check - OSS-Fuzz will not run anything
> that has an extension that is not ".exe":
> https://github.com/google/oss-fuzz/blob/master/infra/utils.py#L115
>
> Reported-by: OSS-Fuzz (Issue 26725)
> Reported-by: OSS-Fuzz (Issue 26679)
> Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
> ---
>
> Also, for context:
> https://github.com/google/oss-fuzz/issues/4575
>
> scripts/oss-fuzz/build.sh | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh
> index fcae4a0c26..3b1c82b63d 100755
> --- a/scripts/oss-fuzz/build.sh
> +++ b/scripts/oss-fuzz/build.sh
> @@ -91,7 +91,7 @@ make "-j$(nproc)" qemu-fuzz-i386 V=1
> # Copy over the datadir
> cp -r ../pc-bios/ "$DEST_DIR/pc-bios"
>
> -cp "./qemu-fuzz-i386" "$DEST_DIR/bin/"
> +cp "./qemu-fuzz-i386" "$DEST_DIR/bin/qemu-fuzz-i386.base"
>
> # Run the fuzzer with no arguments, to print the help-string and get the list
> # of available fuzz-targets. Copy over the qemu-fuzz-i386, naming it according
> @@ -104,7 +104,7 @@ do
> # that are thin wrappers around this target that set the required
> # environment variables according to predefined configs.
> if [ "$target" != "generic-fuzz" ]; then
> - ln "$DEST_DIR/bin/qemu-fuzz-i386" \
> + ln "$DEST_DIR/bin/qemu-fuzz-i386.base" \
> "$DEST_DIR/qemu-fuzz-i386-target-$target"
> fi
> done
>
Queued, thanks.
Paolo