genRange crashes with ClOpen when lower bound equals upper bound
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 72/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- haskell
- Bereich
- testing-qa
Rechercherichtung
Lies src/Codec/CBOR/Cuddle/CBOR/Gen.hs, beginnend bei genRange und seinem range-Helfer, und reproduziere den leeren Fall 5...5 mit ClOpen-Grenzen. Validiere den angepassten Bereich vor choose oder antiChoose, und betrachte das Problem als gelöst, wenn leere Bereiche einen klaren Fehler statt eines Absturzes wegen eines ungültigen Bereichs erzeugen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
genRange can crash with an invalid choose range when the lower bound equals the upper bound and bounds are ClOpen.
Location
src/Codec/CBOR/Cuddle/CBOR/Gen.hs, genRange function
Details
When a == b and the range bound is ClOpen, the range helper computes (x, pred y), producing an upper bound strictly less than the lower bound. This causes choose/antiChoose to crash with an invalid range.
For example, a CDDL range like 5...5 (exclusive on both ends) results in an empty range that choose cannot handle.
Suggested fix
Validate that the range is non-empty after applying bounds, and emit a clear error message for empty ranges instead of crashing inside choose.
- Vorherrschende Sprache
- Haskell
- Sterne
- 8
- Forks
- 5
- Ø Merge
- 3 T. 12 Std.
- Gemergte PRs (30 T.)
- 4
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus IntersectMBO/cuddle
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
IntersectMBO/cuddle#168 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
IntersectMBO/cuddle#167 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 43/100
IntersectMBO/cuddle#223 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
IntersectMBO/cuddle#217 ·
-
Nested generic rules get the wrong argument when the outer rule is instantiated more than onceOffenbug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
IntersectMBO/cuddle#215 ·
Alle Issues in IntersectMBO/cuddle
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
compiler-explorer/compiler-explorer#9561 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
bittide/bittide-hardware#1357 ·
-
tricorder
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 1 Tag
-
Broken links in the docsOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 76/100
wireapp/wire-server#5690 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
bug dependencies
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
alunduil/network-arbitrary#251 ·
Maintainer antworten meist innerhalb von 1 Tag