aboutcode-org / aboutcode-org/scancode-toolkit

Broken regexp in is_relative_path()

Open
#531 12 comments 0 reactions 0 assignees View on GitHub
bug text extraction
Dominant language
Python
Stars
2.6k
Forks
791
Avg merge
1d 12h
Merged PRs (30d)
5

Description

`textcode.strings.is_relative_path()` is completely broken:

```pycon
>>> from textcode.strings import is_relative_path
>>> is_relative_path("/usr")
Traceback (most recent call last):
File "", line 1, in
File "/home/jwilk/.local/lib/python2.7/site-packages/textcode/strings.py", line 200, in
relative = re.compile('^(?:([^/]|\.\.)[\w_\-]+/.*$', re.IGNORECASE).match
File "/usr/lib/python2.7/re.py", line 194, in compile
return _compile(pattern, flags)
File "/usr/lib/python2.7/re.py", line 251, in _compile
raise error, v # invalid expression
sre_constants.error: unbalanced parenthesis
```

Tested against git HEAD (bca0af4a6ff10f4ef0bef6459f2f06a17d21f9f6).

Found using [pydiatra](https://github.com/jwilk/pydiatra).

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.