aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2024-06-20 10:40:14 +0100
committerfanquake <fanquake@gmail.com>2024-07-18 14:05:09 +0100
commit1bc9f64bee919bc46eb061ef8c66f936eb6a8918 (patch)
tree0a1aec13e61674c586bafe8e0536edb23d263b1f /contrib
parent51d8f435c9ce8af0460380e52026b6d65b1de398 (diff)
contrib: assume binary existence in sec/sym checks
If the binaries don't exist, the Guix build has failed for some other reason. There's no need to check for unknown architectures, or executable formats, as the only ones that could be built are those that we've configured toolchains for in Guix. We've also been doing this inconsistently across the two scripts.
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/devtools/security-check.py37
-rwxr-xr-xcontrib/devtools/symbol-check.py26
2 files changed, 20 insertions, 43 deletions
diff --git a/contrib/devtools/security-check.py b/contrib/devtools/security-check.py
index 94810501be..46f9ee915f 100755
--- a/contrib/devtools/security-check.py
+++ b/contrib/devtools/security-check.py
@@ -248,31 +248,16 @@ CHECKS = {
if __name__ == '__main__':
retval: int = 0
for filename in sys.argv[1:]:
- try:
- binary = lief.parse(filename)
- etype = binary.format
- arch = binary.abstract.header.architecture
- binary.concrete
-
- if etype == lief.EXE_FORMATS.UNKNOWN:
- print(f'{filename}: unknown executable format')
- retval = 1
- continue
-
- if arch == lief.ARCHITECTURES.NONE:
- print(f'{filename}: unknown architecture')
- retval = 1
- continue
-
- failed: list[str] = []
- for (name, func) in CHECKS[etype][arch]:
- if not func(binary):
- failed.append(name)
- if failed:
- print(f'{filename}: failed {" ".join(failed)}')
- retval = 1
- except IOError:
- print(f'{filename}: cannot open')
+ binary = lief.parse(filename)
+ etype = binary.format
+ arch = binary.abstract.header.architecture
+ binary.concrete
+
+ failed: list[str] = []
+ for (name, func) in CHECKS[etype][arch]:
+ if not func(binary):
+ failed.append(name)
+ if failed:
+ print(f'{filename}: failed {" ".join(failed)}')
retval = 1
sys.exit(retval)
-
diff --git a/contrib/devtools/symbol-check.py b/contrib/devtools/symbol-check.py
index c4e6bc81e1..cff5a9b480 100755
--- a/contrib/devtools/symbol-check.py
+++ b/contrib/devtools/symbol-check.py
@@ -299,22 +299,14 @@ lief.EXE_FORMATS.PE: [
if __name__ == '__main__':
retval: int = 0
for filename in sys.argv[1:]:
- try:
- binary = lief.parse(filename)
- etype = binary.format
- if etype == lief.EXE_FORMATS.UNKNOWN:
- print(f'{filename}: unknown executable format')
- retval = 1
- continue
-
- failed: list[str] = []
- for (name, func) in CHECKS[etype]:
- if not func(binary):
- failed.append(name)
- if failed:
- print(f'{filename}: failed {" ".join(failed)}')
- retval = 1
- except IOError:
- print(f'{filename}: cannot open')
+ binary = lief.parse(filename)
+ etype = binary.format
+
+ failed: list[str] = []
+ for (name, func) in CHECKS[etype]:
+ if not func(binary):
+ failed.append(name)
+ if failed:
+ print(f'{filename}: failed {" ".join(failed)}')
retval = 1
sys.exit(retval)