createrune accepts an empty restriction, after which showrunes crashes lightningd (SIGSEGV)
Les mainteneurs répondent en général sous 2 jours
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
Piste de recherche
Commence dans lightningd/runes.c, où createrune analyse et normalise les restrictions, et compare la gestion de [[]] avec celle de [[""]], déjà rejetée. Reproduis avec les commandes regtest, ajoute une validation qui rejette une liste d’alternatives de restriction vide, puis exécute les tests liés aux runes ou le flux regtest pour confirmer que createrune renvoie la même erreur restrictions: not a valid restriction et que showrunes ne plante plus.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- C
- Étoiles
- 3.1k
- Forks
- 1k
- Merge moyen
- 4 j 7 h
- PR mergées (30 j)
- 25
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de ElementsProject/lightning
-
common/amount: parse_amount_sat misparses sub-satoshi msat with leading zero and accepts invalid suffixesPeut-être pris @bhuvan-somisetty l’a pris il y a 7 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
ElementsProject/lightning#9674 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
ElementsProject/lightning#9671 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
ElementsProject/lightning#9634 ·
Les mainteneurs répondent en général sous 2 jours
-
plugins/recover: missing comma in nodes_for_gossip concatenates two bootstrap addresses into invalid addressPeut-être pris @bhuvan-somisetty l’a pris il y a 20 jours. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
ElementsProject/lightning#9630 ·
Les mainteneurs répondent en général sous 2 jours
-
common/json_parse: json_to_bitcoin_amount fails to detect overflow and accepts negative/empty inputsPeut-être pris @bhuvan-somisetty l’a pris il y a 25 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
ElementsProject/lightning#9617 ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de ElementsProject/lightning
Issues similaires
-
opcache: smm_shared_globals left pointing to a dead stack frame when there is no SHM backendOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Linux: out-of-bounds `keyMap` read when a keyboard with an `EV_ABS` axis is opened as a joystickOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
JustAResearcher/gpu-unlock-ada#136 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
esnet/iperf#2101 · 2 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
Preserve final logical line at EOF in db2ldif_read_ldif_line()Peut-être pris @ccsimplyspolit l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
389ds/389-ds-base#8088 ·
Les mainteneurs répondent en général sous 2 jours