Skip to content

Commit 1bc9f64

Browse files
committed
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.
1 parent 51d8f43 commit 1bc9f64

File tree

2 files changed

+20
-43
lines changed

2 files changed

+20
-43
lines changed

contrib/devtools/security-check.py

Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -248,31 +248,16 @@ def check_MACHO_BRANCH_PROTECTION(binary) -> bool:
248248
if __name__ == '__main__':
249249
retval: int = 0
250250
for filename in sys.argv[1:]:
251-
try:
252-
binary = lief.parse(filename)
253-
etype = binary.format
254-
arch = binary.abstract.header.architecture
255-
binary.concrete
256-
257-
if etype == lief.EXE_FORMATS.UNKNOWN:
258-
print(f'{filename}: unknown executable format')
259-
retval = 1
260-
continue
261-
262-
if arch == lief.ARCHITECTURES.NONE:
263-
print(f'{filename}: unknown architecture')
264-
retval = 1
265-
continue
266-
267-
failed: list[str] = []
268-
for (name, func) in CHECKS[etype][arch]:
269-
if not func(binary):
270-
failed.append(name)
271-
if failed:
272-
print(f'{filename}: failed {" ".join(failed)}')
273-
retval = 1
274-
except IOError:
275-
print(f'{filename}: cannot open')
251+
binary = lief.parse(filename)
252+
etype = binary.format
253+
arch = binary.abstract.header.architecture
254+
binary.concrete
255+
256+
failed: list[str] = []
257+
for (name, func) in CHECKS[etype][arch]:
258+
if not func(binary):
259+
failed.append(name)
260+
if failed:
261+
print(f'{filename}: failed {" ".join(failed)}')
276262
retval = 1
277263
sys.exit(retval)
278-

contrib/devtools/symbol-check.py

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -299,22 +299,14 @@ def check_ELF_ABI(binary) -> bool:
299299
if __name__ == '__main__':
300300
retval: int = 0
301301
for filename in sys.argv[1:]:
302-
try:
303-
binary = lief.parse(filename)
304-
etype = binary.format
305-
if etype == lief.EXE_FORMATS.UNKNOWN:
306-
print(f'{filename}: unknown executable format')
307-
retval = 1
308-
continue
309-
310-
failed: list[str] = []
311-
for (name, func) in CHECKS[etype]:
312-
if not func(binary):
313-
failed.append(name)
314-
if failed:
315-
print(f'{filename}: failed {" ".join(failed)}')
316-
retval = 1
317-
except IOError:
318-
print(f'{filename}: cannot open')
302+
binary = lief.parse(filename)
303+
etype = binary.format
304+
305+
failed: list[str] = []
306+
for (name, func) in CHECKS[etype]:
307+
if not func(binary):
308+
failed.append(name)
309+
if failed:
310+
print(f'{filename}: failed {" ".join(failed)}')
319311
retval = 1
320312
sys.exit(retval)

0 commit comments

Comments
 (0)