db: Guard against accessing NULL partid and total_msat

These were spamming my logs and could result in misleading results being
returned on `listpays` and `listsendpays`.
This commit is contained in:
Christian Decker 2020-07-27 16:00:26 +02:00 committed by Rusty Russell
parent d12ea51e63
commit 1da977a04c

View File

@ -2749,8 +2749,16 @@ static struct wallet_payment *wallet_stmt2payment(const tal_t *ctx,
else
payment->failonion = NULL;
db_column_amount_msat(stmt, 14, &payment->total_msat);
payment->partid = db_column_u64(stmt, 15);
if (!db_column_is_null(stmt, 14))
db_column_amount_msat(stmt, 14, &payment->total_msat);
else
payment->total_msat = AMOUNT_MSAT(0);
if (!db_column_is_null(stmt, 15))
payment->partid = db_column_u64(stmt, 15);
else
payment->partid = 0;
return payment;
}