aboutcode-org / aboutcode-org/scancode-toolkit

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

Đang mở
#3,594 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug
Ngôn ngữ chính
Python
Star
2.6k
Fork
791
Merge trung bình
1 ngày 12 giờ
Pull request đã merge (30 ngày)
5

Mô tả

### 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)

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.