createrune accepts an empty restriction, after which showrunes crashes lightningd (SIGSEGV)

オープン 初心者向け
#9,673 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

@amartya1523 がすでに取り組んでいます。

2026年11月3日 から。

  • #9685 @amartya1523 による — オープン

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
78/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
c
領域
backend

調査の方向性

lightningd/runes.c から始めてください。ここでは createrune が restrictions を解析して正規化するので、[[]] の扱いを、すでに拒否されている [[""]] の扱いと比較してください。regtest コマンドで再現し、空の restriction alternates リストを拒否する検証を追加してから、rune 関連のテストまたは regtest フローを実行し、createrune が同じ restrictions: not a valid restriction エラーを返し、showrunes がクラッシュしなくなったことを確認してください。

索引モデルが issue の本文から書いたものです。

説明

Issue and Steps to Reproduce

On a fresh regtest node:

lightning-cli createrune null '[["method=getinfo"],[],["rate=60"]]'
lightning-cli showrunes

createrune accepts the empty restriction ([]) and returns a rune. The next showrunes kills lightningd:

**BROKEN** lightningd: FATAL SIGNAL 11 (version v26.06.7)

The rune is stored, so after a restart every showrunes call crashes lightningd again.

Other malformed restrictions are rejected as expected: [[""]], ["method=getinfo"] and method=getinfo all return restrictions: not a valid restriction. An empty restriction as the last element ([["method=getinfo"],[]]) did not crash in my test.

Expected: createrune rejects a restriction with no alternatives, as it rejects [[""]].

Version

Reproduced on v26.06.7 (the official elementsproject/lightningd:v26.06.7 image) and v26.06.9. lightningd/runes.c on master has no change in this area since.

主要言語
C
スター
3.1k
フォーク
1k
平均マージ
4日 7時間
マージ済み PR(30日)
25

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ElementsProject/lightning のほかの issue

ElementsProject/lightning の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。