mirror of
https://github.com/openSUSE/osc.git
synced 2025-02-06 19:25:47 +01:00
Using os.getcwd() in combination with a subsequent .encode() is error prone: marcus@linux:~> mkdir illegal_utf-8_encoding_$'\xff'_dir marcus@linux:~> cd illegal_utf-8_encoding_$'\xff'_dir/ marcus@linux:~/illegal_utf-8_encoding_ÿ_dir> python3 Python 3.8.6 (default, Nov 09 2020, 12:09:06) [GCC] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.getcwd().encode() Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'utf-8' codec can't encode character '\udcff' in position 36: surrogates not allowed >>> Hence, use os.getcwdb(), which returns a bytes, instead of os.getcwd().encode(). Fixes: commit 36f7b8ffe91ff759c938b1afce5f83be57b39671 ("Fix a potential TypeError in CpioRead.copyin and CpioRead.copyin_file")