github / github/codeql

LGTM.com - false positive: py/unreachable-statement with assert

Aperta
#2,506 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
false-positive Python
Lingua principale
CodeQL
Stelle
10.1k
Fork
2.1k
Merge medio
2g 15h
PR unite (30g)
141

Descrizione

Platform: Python

**Description of the false positive**

`assert` calls will be ignored when using the `-O` option. Therefore some code shouldn't be considered as dead.

This is quite low priority. `-O` related bugs are very common, but no one really uses it. Linters have been fighting forever to know whether this should be taken into account, or simply discarded

**test.py**
```python
def hello():
assert False
return 1

print(hello())
```

**Results:**

- `python test.py` -> `AssertionError`
- `python -O test.py` -> `1`

**[Related doc:](https://docs.python.org/3/using/cmdline.html#cmdoption-o)**

> -O
> Remove assert statements and any code conditional on the value of \_\_debug\_\_. Augment the filename for compiled (bytecode) files by adding .opt-1 before the .pyc extension (see PEP 488). See also PYTHONOPTIMIZE.

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

https://lgtm.com/projects/g/secdev/scapy/snapshot/33177966dbe59a9c7cbed5b086f99b40c4b1ede7/files/scapy/fields.py?sort=name&dir=ASC&mode=heatmap#x551c9066f44c0ec2:1

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.