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 "<stdin>", line 1, in <module>
  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 <listcomp>
    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 <rep...@bugs.python.org>
<http://bugs.python.org/issue30566>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to