Fix fee addition overflow in get_route
[rust-lightning] / src / ln / channelmonitor.rs
index 51f7d3cfe9bf6385e7bc1134be8cdb20f7d5c698..3fb1d8ad836e590dd54c6c5f09e34f9c767fdea9 100644 (file)
@@ -94,7 +94,10 @@ impl<Key : Send + cmp::Eq + hash::Hash + 'static> SimpleManyChannelMonitor<Key>
                };
                match &monitor.funding_txo {
                        &None => self.chain_monitor.watch_all_txn(),
-                       &Some((ref outpoint, ref script)) => self.chain_monitor.install_watch_outpoint((outpoint.txid, outpoint.index as u32), script),
+                       &Some((ref outpoint, ref script)) => {
+                               self.chain_monitor.install_watch_script(script);
+                               self.chain_monitor.install_watch_outpoint((outpoint.txid, outpoint.index as u32), script);
+                       },
                }
                monitors.insert(key, monitor);
                Ok(())
@@ -740,7 +743,7 @@ impl ChannelMonitor {
                for _ in 0..remote_claimable_outpoints_len {
                        let txid = Sha256dHash::from(read_bytes!(32));
                        let outputs_count = byte_utils::slice_to_be64(read_bytes!(8));
-                       if outputs_count > data.len() as u64 * 32 { return None; }
+                       if outputs_count > data.len() as u64 / 32 { return None; }
                        let mut outputs = Vec::with_capacity(outputs_count as usize);
                        for _ in 0..outputs_count {
                                outputs.push(read_htlc_in_commitment!());