createrune accepts an empty restriction, after which showrunes crashes lightningd (SIGSEGV)
Maintainer thường phản hồi trong vòng 2 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
Hướng nghiên cứu
Bắt đầu trong lightningd/runes.c, nơi createrune phân tích và chuẩn hóa các restriction, và so sánh cách xử lý [[]] với [[""]] vốn đã bị từ chối. Tái hiện bằng các lệnh regtest, thêm validation từ chối danh sách alternates restriction rỗng, rồi chạy các test liên quan đến rune hoặc luồng regtest để xác nhận createrune trả về cùng lỗi restrictions: not a valid restriction và showrunes không còn crash.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- C
- Star
- 3.1k
- Fork
- 1k
- Merge trung bình
- 4 ngày 7 giờ
- Pull request đã merge (30 ngày)
- 25
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ElementsProject/lightning
-
common/amount: parse_amount_sat misparses sub-satoshi msat with leading zero and accepts invalid suffixesCó thể đã có người làm @bhuvan-somisetty đã nhận 7 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
ElementsProject/lightning#9674 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ElementsProject/lightning#9671 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
ElementsProject/lightning#9634 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
plugins/recover: missing comma in nodes_for_gossip concatenates two bootstrap addresses into invalid addressCó thể đã có người làm @bhuvan-somisetty đã nhận 19 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
ElementsProject/lightning#9630 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
common/json_parse: json_to_bitcoin_amount fails to detect overflow and accepts negative/empty inputsCó thể đã có người làm @bhuvan-somisetty đã nhận 24 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
ElementsProject/lightning#9617 ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của ElementsProject/lightning
Issue tương tự
-
Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
meshcore-dev/MeshCore#3760 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
ly05010419/MacNativeGames#1697 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
colbymchenry/codegraph#3228 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
FujiNetWIFI/fujinet-config#372 ·
Maintainer thường phản hồi trong vòng 1 ngày