Trouve le bug avant de lire le correctif.
Un vrai bug par jour, tiré d’un vrai commit de correctif. Une question réussie revient 1, 3, 7, 21 puis 45 jours plus tard.
Aujourd’hui · jour 1 · 10 min
Décalage d’un entre une colonne et un offset
0 chapitre sur 40 terminé
Le parcours
Compter
- Décalage d’un entre une colonne et un offset 1
- Débordement d’entier dans un compte d’éléments NumPy 2
- Erreur de virgule flottante dans la conversion des dollars en centimes 3
- Dimensionner un buffer UTF-8 avec la longueur de la chaîne 4
- Heure d’été et rotation mensuelle des logs 5
- Le dernier jeudi de février 6
- Un reste de zéro 7
- Un caractère après le template 8
Les entrées
- La vérification une ligne trop tard 9
- Un sitemap sans rien dedans 10
- Une durée de 0 qui animait quand même 11
- Un guillemet dans l’ID d’un titre 12
- Un dossier voisin au nom plus long 13
- Le backtracking d’une regex sur un e-mail trop court 14
- Une base nommée notanumber 15
- Les offsets après le retrait d’un BOM 16
L’état et le temps
- Double-checked locking : affecter le champ en dernier 17
- Des noms de thread tirés d’un compteur sans verrou 18
- Un await manquant devant asyncio.gather 19
- Un StopContainer idempotent dans containerd 20
- Une clé de rate limit sans le contrôleur 21
- Une variable de boucle capturée par une goroutine 22
- Deux handlers de signal posés dans le mauvais ordre 23
- Un fetch sans timeout 24
Les ressources
- Une connexion jamais fermée, à cause d’un throw dans finally 25
- Une tâche OAuth encore en attente à l’arrêt 26
- Un écouteur timeupdate resté sur un élément audio retiré 27
- Un tas de leases que seul le leader etcd vide 28
- Un waker détruit pendant que le mutex du JoinSet est tenu 29
- drain_all de Sidekiq boucle sur un job hors de sa file par défaut 30
- Copier une liste en repartant de la tête 31
- Une connexion comptée mais jamais rangée 32
La logique
- Une locale qui reste en place 33
- Un dict d’en-têtes partagé par toutes les sessions 34
- Un IV vide qui passait le contrôle de longueur 35
- La fonction d’annulation qui reste nil 36
- Une erreur de parsing de config affichée comme commande inconnue 37
- Des hashs jamais libérés 38
- CAST5 en CFB et OFB prend une clé de 8 octets par défaut 39
- Un tableau qui passe pour une sévérité 40