diff options
author | Petr <30545094+pasabanov@users.noreply.github.com> | 2024-07-18 18:32:49 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-18 17:32:49 +0200 |
commit | c35a5ca087bdace26d454dd73337a63f04f23e20 (patch) | |
tree | e92f4bf6e1524c97f2f6c757fa33cbbe1bd3e428 /tests/ossfuzz.sh | |
parent | ca429669ac5b8f0101d0933ff20ee5f152c518b1 (diff) |
shell: reformatted, fixed inspections, typos (#2506)
Reformatted shell scripts according to [ShellCheck](https://github.com/koalaman/shellcheck/).
I. Most common changes:
1. https://github.com/koalaman/shellcheck/wiki/SC2086
`$var` → `"$var"`
Note: this isn't always necessary and I've been careful not to substitute where it wasn't necessary in meaning.
2. https://github.com/koalaman/shellcheck/wiki/SC2006
`` `command` `` → `$(command)`
3. https://github.com/koalaman/shellcheck/wiki/SC2004
`$(( $a + $b ))` → `$(( a + b ))`
4. https://github.com/koalaman/shellcheck/wiki/SC2164
`cd "$dir"` → `cd "$dir" || exit 1`
5. https://github.com/koalaman/shellcheck/wiki/SC2166
`[ check1 -o check2 ]` → `[ check1 ] || [ check2 ]`
6. https://github.com/koalaman/shellcheck/wiki/SC2002
`cat "${file}" | wc -c` → `< "${file}" wc -c`
Note: this looks a bit uglier but works faster.
II. Some special changes:
1. In file `utils/common.sh`:
https://github.com/koalaman/shellcheck/wiki/SC2112
This script is interpreted by `sh`, not by `bash`, but uses the keyword `function`.
So I replaced `#!/usr/bin/env sh` to `#!/usr/bin/env bash`.
2. After that I thought of replacing all shebangs to `#!/usr/bin/env bash` for consistency and cross-platform compatibility, especially since most of the files already use bash.
3. But in cases when it was `#!/bin/sh -e` or `#!/bin/bash -eu` another problem appears:
https://github.com/koalaman/shellcheck/wiki/SC2096
So I decided to make all shebangs look uniform:
```
#!/usr/bin/env bash
set -e (or set -eu) (if needed)
```
4. In file `tests/ossfuzz.sh`:
https://github.com/koalaman/shellcheck/wiki/SC2162
`read i` → `read -r i`
Note: I think that there is no need in special treatment for backslashes, but I could be wrong.
5. In file `tests/do.sh.in`:
https://github.com/koalaman/shellcheck/wiki/SC2035
`ls *.*cap*` → `ls -- *.*cap*`
6. In file `utils/verify_dist_tarball.sh`:
https://github.com/koalaman/shellcheck/wiki/SC2268
`[ "x${TARBALL}" = x ]` → `[ -z "${TARBALL}" ]`
7. In file `utils/check_symbols.sh`:
https://github.com/koalaman/shellcheck/wiki/SC2221
`'[ndpi_utils.o]'|'[ndpi_memory.o]'|'[roaring.o]')` → `'[ndpi_utils.o]'|'[ndpi_memory.o]')`
8. In file `autogen.sh`:
https://github.com/koalaman/shellcheck/wiki/SC2145
`echo "./configure $@"` → `echo "./configure $*"`
https://github.com/koalaman/shellcheck/wiki/SC2068
`./configure $@` → `./configure "$@"`
III. `LIST6_MERGED` and `LIST_MERGED6`
There were typos with this variables in files `utils/aws_ip_addresses_download.sh`, `utils/aws_ip_addresses_download.sh` and `utils/microsoft_ip_addresses_download.sh` where variable `LIST6_MERGED` was defined, but `LIST_MERGED6` was removed by `rm`.
I changed all `LIST_MERGED6` to `LIST6_MERGED`.
Not all changes are absolutely necessary, but some may save you from future bugs.
Diffstat (limited to 'tests/ossfuzz.sh')
-rw-r--r-- | tests/ossfuzz.sh | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/tests/ossfuzz.sh b/tests/ossfuzz.sh index b6631fbe7..752ae0415 100644 --- a/tests/ossfuzz.sh +++ b/tests/ossfuzz.sh @@ -1,4 +1,5 @@ -#!/bin/bash -eu +#!/usr/bin/env bash +set -eu # Copyright 2019 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -46,25 +47,25 @@ cd ndpi RANLIB=llvm-ranlib LDFLAGS="-L/usr/local/lib -lpcap" ./autogen.sh --enable-fuzztargets --with-only-libndpi --enable-tls-sigs make -j$(nproc) # Copy fuzzers -ls fuzz/fuzz* | grep -v "\." | while read i; do cp $i $OUT/; done +ls fuzz/fuzz* | grep -v "\." | while read -r i; do cp "$i" "$OUT"/; done # Copy dictionaries -cp fuzz/*.dict $OUT/ +cp fuzz/*.dict "$OUT"/ # Copy seed corpus -cp fuzz/*.zip $OUT/ +cp fuzz/*.zip "$OUT"/ # Copy options -cp fuzz/*.options $OUT/ +cp fuzz/*.options "$OUT"/ # Copy configuration files -cp example/protos.txt $OUT/ -cp example/categories.txt $OUT/ -cp example/risky_domains.txt $OUT/ -cp example/ja3_fingerprints.csv $OUT/ -cp example/sha1_fingerprints.csv $OUT/ -cp example/config.txt $OUT/ -cp lists/public_suffix_list.dat $OUT/ -cp fuzz/ipv*_addresses.txt $OUT/ -cp fuzz/bd_param.txt $OUT/ -cp fuzz/splt_param.txt $OUT/ -cp fuzz/random_list.list $OUT/ -mkdir -p $OUT/lists +cp example/protos.txt "$OUT"/ +cp example/categories.txt "$OUT"/ +cp example/risky_domains.txt "$OUT"/ +cp example/ja3_fingerprints.csv "$OUT"/ +cp example/sha1_fingerprints.csv "$OUT"/ +cp example/config.txt "$OUT"/ +cp lists/public_suffix_list.dat "$OUT"/ +cp fuzz/ipv*_addresses.txt "$OUT"/ +cp fuzz/bd_param.txt "$OUT"/ +cp fuzz/splt_param.txt "$OUT"/ +cp fuzz/random_list.list "$OUT"/ +mkdir -p "$OUT"/lists # Ignore a huge list to speed up init time -find lists/*.list ! -name 100_malware.list -exec cp -t $OUT/lists/ {} + +find lists/*.list ! -name 100_malware.list -exec cp -t "$OUT"/lists/ {} + |