input-output-hk / input-output-hk/cuddle

genEnum crashes on empty group

Open
#167 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Haskell
Stars
7
Forks
5
PR merge metrics
No merged PRs in 30d

Description

## Description

`genEnum` crashes when given an empty group because `choose` receives an invalid range.

## Location

`src/Codec/CBOR/Cuddle/CBOR/Gen.hs`, `genEnum` function

## Details

```haskell
genEnum tree = case tree of
CTree.Group trees -> do
ix <- choose (0, length trees - 1)
genForCTree $ trees !! ix
```

When `trees` is empty, `choose (0, length trees - 1)` becomes `choose (0, -1)`, which is an invalid range.

## Suggested fix

Handle empty groups explicitly with a clear error message before calling `choose`.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.