diff --git a/plugins/askrene/reserve.c b/plugins/askrene/reserve.c index a0e514875bd5..9d1807e8c124 100644 --- a/plugins/askrene/reserve.c +++ b/plugins/askrene/reserve.c @@ -93,9 +93,8 @@ size_t reserves_add(struct reserve_hash *reserved, if (!r) r = new_reserve(reserved, &scidds[i]); if (!add(r, amounts[i])) { - if (i > 0) - reserves_remove(reserved, scidds, amounts, i-1); - return false; + reserves_remove(reserved, scidds, amounts, i); + return i; } } return num; @@ -111,9 +110,8 @@ size_t reserves_remove(struct reserve_hash *reserved, for (size_t i = 0; i < num; i++) { struct reserve *r = reserve_hash_get(reserved, &scidds[i]); if (!r || !remove(r, amounts[i])) { - if (i > 0) - reserves_add(reserved, scidds, amounts, i-1); - return false; + reserves_add(reserved, scidds, amounts, i); + return i; } if (r->num_htlcs == 0) del_reserve(reserved, r);