genRange crashes with ClOpen when lower bound equals upper bound
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 72/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- haskell
- Domínio
- testing-qa
Direção de pesquisa
Leia src/Codec/CBOR/Cuddle/CBOR/Gen.hs, começando por genRange e seu helper range, e reproduza o caso vazio 5...5 com limites ClOpen. Valide o intervalo ajustado antes de choose ou antiChoose e considere o problema resolvido quando intervalos vazios produzirem um erro claro em vez de um crash por intervalo inválido.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Haskell
- Estrelas
- 8
- Forks
- 5
- Merge médio
- 3d 12h
- PRs com merge (30d)
- 4
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de IntersectMBO/cuddle
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
IntersectMBO/cuddle#168 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
IntersectMBO/cuddle#167 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 43/100
IntersectMBO/cuddle#223 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
IntersectMBO/cuddle#217 ·
-
Nested generic rules get the wrong argument when the outer rule is instantiated more than onceAbertabug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
IntersectMBO/cuddle#215 ·
Todas as issues de IntersectMBO/cuddle
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
compiler-explorer/compiler-explorer#9561 ·
Mantenedores costumam responder em até 1 dia
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
bittide/bittide-hardware#1357 ·
-
tricorder
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
Broken links in the docsAberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 76/100
wireapp/wire-server#5690 ·
Mantenedores costumam responder em até 3 dias