python / python/cpython

PY_SSIZE_T_MIN negate UB in unicode_format.c and bytesobject.c

Ouverte
#151,847 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

interpreter-core type-bug
Langage dominant
Python
Étoiles
77.2k
Forks
36k
Métriques de merge des PR
Métriques de PR en attente

Description

Bug report

Bug description:

Original gist: https://gist.github.com/devdanzin/577421b083bad6802aa391b909d1a725

unicode_format_arg_parse (line 563): -PY_SSIZE_T_MIN is undefined behavior in C. Benign on two's-complement but technically UB. bytesobjects.c have the same problem.

CPython versions tested on:

CPython main branch

Operating systems tested on:

No response

Linked PRs
  • gh-151849

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par lire unicode_format_arg_parse dans unicode_format.c ainsi que le code correspondant dans bytesobject.c, puis examinez les tests existants couvrant le formatage. Le travail est terminé lorsque les deux négations signalées de PY_SSIZE_T_MIN sont corrigées sans comportement indéfini et que les tests pertinents de CPython réussissent.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
c, python
Domaine
backend
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.