X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning-invoice%2Fsrc%2Flib.rs;h=fb34240bee1b32ee397f9acce1de769db65bf9a7;hb=78ab54ff82199c92b57a4939dab94d3fff91a88b;hp=920d44b1561dbf12f8afdc1e3e5105eb8a5aefef;hpb=b8d4ac1371bf0db3b28339d4e12fadf02f6add3d;p=rust-lightning diff --git a/lightning-invoice/src/lib.rs b/lightning-invoice/src/lib.rs index 920d44b1..fb34240b 100644 --- a/lightning-invoice/src/lib.rs +++ b/lightning-invoice/src/lib.rs @@ -577,7 +577,13 @@ impl Self { - let amount = amount_msat * 10; // Invoices are denominated in "pico BTC" + let amount = match amount_msat.checked_mul(10) { // Invoices are denominated in "pico BTC" + Some(amt) => amt, + None => { + self.error = Some(CreationError::InvalidAmount); + return self + } + }; let biggest_possible_si_prefix = SiPrefix::values_desc() .iter() .find(|prefix| amount % prefix.multiplier() == 0)