[issue37495] socket.inet_aton parsing issue on some libc versions
disconnect3d added the comment: Regarding the exception case: seems like OSError, since that's what originally was done and we don't want to break users of this code. -- ___ Python tracker <https://bugs.python.org/issue37495> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37495] socket.inet_aton parsing issue on some libc versions
disconnect3d added the comment: Its a while since this has been reported. I think inet_aton_pton.py is fine, though, a commit adding it should explain why we do it this way. @vstinner can you push this patch further or do you want me to do it? -- ___ Python tracker <https://bugs.python.org/issue37495> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37529] Mimetype module duplicates
disconnect3d added the comment: To be more specific and to keep this information historically, the .bmp registers two mimetypes - 'image/bmp' and 'image/x-ms-bmp'. Below a part of the relevant code. ``` types_map = _types_map_default = { # (...) '.bmp': 'image/bmp', '.gif': 'image/gif', '.ief': 'image/ief', '.jpg': 'image/jpeg', '.jpe': 'image/jpeg', '.jpeg' : 'image/jpeg', '.png': 'image/png', '.svg': 'image/svg+xml', '.tiff' : 'image/tiff', '.tif': 'image/tiff', '.ico': 'image/vnd.microsoft.icon', '.ras': 'image/x-cmu-raster', '.bmp': 'image/x-ms-bmp', ``` -- ___ Python tracker <https://bugs.python.org/issue37529> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37529] Mimetype module duplicates
New submission from disconnect3d : The mimetype builtin module allows users to guess extension for a given mimetype through the `mimetypes.guess_extension` function. Default mimetypes are stored in `types_map` and `_types_map_default` dictionaries that maps extensions to mimetypes. Those dictionaries are created by `_default_mime_types` function in `cpython/Lib/mimetypes.py`. If a given extension have more than one mimetype, this information is lost. This happens currently for ".bmp" extension in CPython's codebase. This can be seen in the linked code below: https://github.com/python/cpython/blob/110a47c4f42cf4db88edc1876899fff8f05190fb/Lib/mimetypes.py#L490-L502 Here is an example in an interactive IPython session: ``` In [1]: import mimetypes In [2]: mimetypes.guess_extension('image/bmp') Out[2]: '.bmp' In [3]: mimetypes.guess_extension('image/x-ms-bmp') In [4]: ``` The issue has been found by using Semmle's LGTM: https://lgtm.com/projects/g/python/cpython/snapshot/d099f261c762ac81042e47b530d279f932d89e09/files/Lib/mimetypes.py?sort=name&dir=ASC&mode=heatmap PS / offtopic / loud thinking: Maybe there should be a debug build of CPython that would detect such key overwrites during dicts initialisation and warn about them? -- components: Library (Lib) messages: 347562 nosy: Dominik Czarnota priority: normal severity: normal status: open title: Mimetype module duplicates type: behavior versions: Python 2.7, Python 3.5, Python 3.6, Python 3.7, Python 3.8, Python 3.9 ___ Python tracker <https://bugs.python.org/issue37529> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com