mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 18:11:28 +01:00
paymod: Fix waitsendpay error parsing for unknown failure codes
It turns out that the `failcodename` doesn't get populated if the `failcode` isn't a known error from the enum (duh...) so don't fail parsing if it's missing.
This commit is contained in:
parent
5daa5bd61e
commit
af4955c28e
@ -531,7 +531,7 @@ static struct payment_result *tal_sendpay_result_from_json(const tal_t *ctx,
|
||||
msgtok = json_get_member(buffer, toks, "message");
|
||||
rawmsgtok = json_get_member(buffer, datatok, "raw_message");
|
||||
if (failcodetok == NULL || failcodetok->type != JSMN_PRIMITIVE ||
|
||||
failcodenametok == NULL || failcodenametok->type != JSMN_STRING ||
|
||||
(failcodenametok != NULL && failcodenametok->type != JSMN_STRING) ||
|
||||
(erridxtok != NULL && erridxtok->type != JSMN_PRIMITIVE) ||
|
||||
(errnodetok != NULL && errnodetok->type != JSMN_STRING) ||
|
||||
(errchantok != NULL && errchantok->type != JSMN_STRING) ||
|
||||
@ -545,7 +545,11 @@ static struct payment_result *tal_sendpay_result_from_json(const tal_t *ctx,
|
||||
else
|
||||
result->raw_message = NULL;
|
||||
|
||||
result->failcodename = json_strdup(result, buffer, failcodenametok);
|
||||
if (failcodenametok != NULL)
|
||||
result->failcodename = json_strdup(result, buffer, failcodenametok);
|
||||
else
|
||||
result->failcodename = NULL;
|
||||
|
||||
json_to_u32(buffer, failcodetok, &result->failcode);
|
||||
result->message = json_strdup(result, buffer, msgtok);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user