github / github/codeql

LGTM.com - false positive - illegal raise of NoneType

Open
#6,573 1 comment 0 reactions 0 assignees View on GitHub
acknowledged false-positive not security Python
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
141

Description

**Description of the false positive**

```python
if not available_handlers:
[...]
raise RuntimeError(...)

last_exception = None
for handler in available_handlers:
try:
[...]
return
except Exception as exc:
[...]
last_exception = exc
[...]
raise last_exception # type: ignore[misc]
```
LGTM complains that `last_exception` can be `None`:
> Illegal class 'NoneType' raised; will result in a TypeError being raised instead.

This can happen only if the list `available_handlers` the loop iterates over is empty. We make sure `available_handlers` is **not** empty just before the loop.

**URL to the alert on the project page on LGTM.com**

https://lgtm.com/projects/g/pydicom/pydicom/snapshot/283a1a1994d3d01b4d1e1fb3959c4de35c3240a8/files/pydicom/dataset.py?sort=name&dir=ASC&mode=heatmap#xe8b0c26a5a33f9bc:1

https://lgtm.com/projects/g/pydicom/pydicom/snapshot/283a1a1994d3d01b4d1e1fb3959c4de35c3240a8/files/pydicom/dataset.py?sort=name&dir=ASC&mode=heatmap#x945aebd0a835900:1

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.