levenshtein integer overflow
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.1k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
The following code:
<?php
echo levenshtein('aa', 'ab', 1, PHP_INT_MAX, 1);
Resulted in this output:
-9223372036854775807
But I expected this output instead:
2
Also levenshtein(str_repeat('a', 100000), str_repeat('b', 1000000), 1, PHP_INT_MAX - 500000, 1)
returning unexpected -9223372036854625811
PHP Version
any
Operating System
any 64-bit
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 damit, die beiden levenshtein-Beispiele aus dem Issue auf einem 64-Bit-System zu reproduzieren, und untersuche die Implementierung und die vorhandenen Tests für levenshtein. Verfolge, wie große Kosten für Einfügungen, Ersetzungen und Löschungen behandelt werden, und füge eine Regressionstestabdeckung hinzu, die das erwartete Ergebnis 2 ohne Integerüberlauf zeigt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 35/100