Vikram Hegde added the comment:
I have a patch for this problem but my contributor agreement has not been
accepted yet, so I can't do a pull request.
Use the python package tldextract to trigger the bug. Here is a sample
Python 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 12:22:00)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tldextract
>>> tldextract.extract("xn--w&")
Traceback (most recent call last):
File
"/home/vikram-work/anaconda3/envs/pefeatextract-debug/lib/python3.6/encodings/punycode.py",
line 207, in decode
res = punycode_decode(input, errors)
File
"/home/vikram-work/anaconda3/envs/pefeatextract-debug/lib/python3.6/encodings/punycode.py",
line 194, in punycode_decode
return insertion_sort(base, extended, errors)
File
"/home/vikram-work/anaconda3/envs/pefeatextract-debug/lib/python3.6/encodings/punycode.py",
line 165, in insertion_sort
bias, errors)
File
"/home/vikram-work/anaconda3/envs/pefeatextract-debug/lib/python3.6/encodings/punycode.py",
line 146, in decode_generalized_number
% extended[extpos])
IndexError: string index out of range
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "", line 1, in
File
"/home/vikram-work/anaconda3/envs/pefeatextract-debug/lib/python3.6/site-packages/tldextract/tldextract.py",
line 358, in extract
return TLD_EXTRACTOR(url)
File
"/home/vikram-work/anaconda3/envs/pefeatextract-debug/lib/python3.6/site-packages/tldextract/tldextract.py",
line 237, in __call__
translations = [decode_punycode(label).lower() for label in labels]
File
"/home/vikram-work/anaconda3/envs/pefeatextract-debug/lib/python3.6/site-packages/tldextract/tldextract.py",
line 237, in
translations = [decode_punycode(label).lower() for label in labels]
File
"/home/vikram-work/anaconda3/envs/pefeatextract-debug/lib/python3.6/site-packages/tldextract/tldextract.py",
line 232, in decode_punycode
return idna.decode(label.encode('ascii'))
File
"/home/vikram-work/anaconda3/envs/pefeatextract-debug/lib/python3.6/site-packages/idna/core.py",
line 384, in decode
result.append(ulabel(label))
File
"/home/vikram-work/anaconda3/envs/pefeatextract-debug/lib/python3.6/site-packages/idna/core.py",
line 302, in ulabel
label = label.decode('punycode')
IndexError: decoding with 'punycode' codec failed (IndexError: string index out
of range)
>>>
--
nosy: +Vikram Hegde
___
Python tracker
<http://bugs.python.org/issue30566>
___
___
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com