UUID wrongly parses hex values with underscores
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug report
Bug description:
import uuid
uuid.UUID("123_4567812345678123456781234567")
# UUID('01234567-8123-4567-8123-456781234567')
UUID parsing hex strings internally uses int method which from Python 3.6 accepts underscores (_) as digit separators
Changed in version 3.6: Grouping digits with underscores as in code literals is allowed.
Since the UUID does not performs sanitization of this character this may result in parsing as valid non-RFC compliant UUID values.
CPython versions tested on:
3.10, CPython main branch
Operating systems tested on:
Linux
Linked PRs
- gh-125652
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem im Bericht gezeigten uuid.UUID-Parsingpfad und untersuche, an welcher Stelle die Eingabe an int übergeben wird. Bestätige das Verhalten mit dem Beispielwert; erledigt ist die Aufgabe, wenn Hexadezimalzeichenfolgen mit Unterstrichen zurückgewiesen oder anderweitig nicht mehr in eine gültige UUID geparst werden und dieser Fall durch Tests abgedeckt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 25/100