aboutcode-org / aboutcode-org/scancode-toolkit

scancode crash when supplying PNG file to --license-policy

Abierto
#3,594 2 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
Python
Estrellas
2.6k
Forks
791
Merge medio
1 d 12 h
PR fusionados (30 d)
5

Descripción

### Description

Sanity checks for `--license-policy` are missing leading to a crash.

### How To Reproduce

```
$ ./scancode -l scancode --spdx-tv /tmp/scancode.spdx --license-policy /tmp/tmp8ulw9skr.png
Setup plugins...
Collect file inventory...
Scan files for: licenses with 1 process(es)...
[####################] 2
ERROR: failed to run post-scan plugin: license-policy:
Traceback (most recent call last):
File "/home/armijn/git/scancode-toolkit/src/scancode/cli.py", line 1084, in run_codebase_plugins
plugin.process_codebase(codebase, **kwargs)
File "/home/armijn/git/scancode-toolkit/src/licensedcode/plugin_license_policy.py", line 77, in process_codebase
if has_policy_duplicates(license_policy):
File "/home/armijn/git/scancode-toolkit/src/licensedcode/plugin_license_policy.py", line 114, in has_policy_duplicates
policies = load_license_policy(license_policy_location).get('license_policies', [])
File "/home/armijn/git/scancode-toolkit/src/licensedcode/plugin_license_policy.py", line 141, in load_license_policy
conf_content = conf.read()
File "/usr/lib64/python3.10/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte

WARNING: Files are missing a SHA1 attribute. Incomplete SPDX document created.
Scanning done.
Some files failed to scan properly:
ERROR: failed to run post-scan plugin: license-policy:
Traceback (most recent call last):
File "/home/armijn/git/scancode-toolkit/src/scancode/cli.py", line 1084, in run_codebase_plugins
plugin.process_codebase(codebase, **kwargs)
File "/home/armijn/git/scancode-toolkit/src/licensedcode/plugin_license_policy.py", line 77, in process_codebase
if has_policy_duplicates(license_policy):
File "/home/armijn/git/scancode-toolkit/src/licensedcode/plugin_license_policy.py", line 114, in has_policy_duplicates
policies = load_license_policy(license_policy_location).get('license_policies', [])
File "/home/armijn/git/scancode-toolkit/src/licensedcode/plugin_license_policy.py", line 141, in load_license_policy
conf_content = conf.read()
File "/usr/lib64/python3.10/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte
Summary: licenses with 1 process(es)
Errors count: 1
Scan Speed: 1.83 files/sec.
Initial counts: 1 resource(s): 1 file(s) and 0 directorie(s)
Final counts: 1 resource(s): 1 file(s) and 0 directorie(s)
Timings:
scan_start: 2023-11-17T150048.155768
scan_end: 2023-11-17T150051.949987
setup_scan:licenses: 3.24s
setup: 3.24s
scan: 0.55s
total: 3.85s
Removing temporary files...done.
```

### System configuration

> For bug reports, it really helps us to know:

* What OS are you running on? (Windows/MacOS/Linux)
* What version of scancode-toolkit was used to generate the scan file?
* What installation method was used to install/run scancode? (pip/source download/other)

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.