genControl .lt crashes when controller literal is 0
まだ誰も着手していません。
評価
調査の方向性
src/Codec/CBOR/Cuddle/CBOR/Gen.hs を開き、genControl から始めて、PTUInt の CtlOp.Lt ケースに注目してください。controller-literal-0 入力を再現し、クラッシュするのではなく、空の範囲に関する明確なエラーが報告されることを確認するとともに、既存の生成動作が変わらないことを確認してください。
索引モデルが issue の本文から書いたものです。
説明
Description
genControl crashes when the .lt operator is used with a controller literal of 0, because choose receives an invalid range.
Location
src/Codec/CBOR/Cuddle/CBOR/Gen.hs, genControl function
Details
(CtlOp.Lt, CTree.Literal (Value (VUInt n) _)) -> case target of
CTree.Postlude PTUInt -> S . TInteger <$> choose (0, fromIntegral n - 1)
When n == 0, choose (0, fromIntegral n - 1) becomes choose (0, -1), which is an invalid range.
Suggested fix
Handle n == 0 explicitly with a clear error message about the empty range (there are no unsigned integers less than 0).
- 主要言語
- Haskell
- スター
- 8
- フォーク
- 5
- 平均マージ
- 3日 12時間
- マージ済み PR(30日)
- 4
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
IntersectMBO/cuddle のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
IntersectMBO/cuddle#167 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
IntersectMBO/cuddle#166 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 43/100
IntersectMBO/cuddle#223 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
IntersectMBO/cuddle#217 ·
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
IntersectMBO/cuddle#215 ·
IntersectMBO/cuddle の issue をすべて見る
似ている issue
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
bittide/bittide-hardware#1357 ·
-
bug dependencies
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
alunduil/network-arbitrary#251 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
`logProbability` returns `NaN` for the Poisson distribution with `λ = 0`対応中かも @youqad が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
haskell/statistics#235 ·
-
Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100