Commit af7c9d5a authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

enable checked_conversions lint.

parent a5bfc3c9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@
#![deny(clippy::await_holding_lock)]
#![deny(clippy::cargo_common_metadata)]
#![deny(clippy::cast_lossless)]
#![deny(clippy::checked_conversions)]
#![warn(clippy::clone_on_ref_ptr)]
#![warn(clippy::cognitive_complexity)]
#![deny(clippy::debug_assert_with_mut_call)]
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@
#![deny(clippy::await_holding_lock)]
#![deny(clippy::cargo_common_metadata)]
#![deny(clippy::cast_lossless)]
#![deny(clippy::checked_conversions)]
#![warn(clippy::clone_on_ref_ptr)]
#![warn(clippy::cognitive_complexity)]
#![deny(clippy::debug_assert_with_mut_call)]
+1 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@
#![deny(clippy::await_holding_lock)]
#![deny(clippy::cargo_common_metadata)]
#![deny(clippy::cast_lossless)]
#![deny(clippy::checked_conversions)]
#![warn(clippy::clone_on_ref_ptr)]
#![warn(clippy::cognitive_complexity)]
#![deny(clippy::debug_assert_with_mut_call)]
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@
#![deny(clippy::await_holding_lock)]
#![deny(clippy::cargo_common_metadata)]
#![deny(clippy::cast_lossless)]
#![deny(clippy::checked_conversions)]
#![warn(clippy::clone_on_ref_ptr)]
#![warn(clippy::cognitive_complexity)]
#![deny(clippy::debug_assert_with_mut_call)]
+19 −6
Original line number Diff line number Diff line
//! Different kinds of messages that can be encoded in channel cells.

use super::{ChanCmd, RawCellBody, CELL_DATA_LEN};
use std::convert::TryInto;
use std::net::{IpAddr, Ipv4Addr};
use tor_bytes::{self, Error, Readable, Reader, Result, Writer};

@@ -637,8 +638,12 @@ impl Body for Netinfo {
            .their_addr
            .unwrap_or_else(|| Ipv4Addr::UNSPECIFIED.into());
        enc_one_netinfo_addr(w, &their_addr);
        assert!(self.my_addr.len() <= u8::MAX as usize);
        w.write_u8(self.my_addr.len() as u8);
        let n_addrs: u8 = self
            .my_addr
            .len()
            .try_into()
            .expect("Too many addrs in netinfo cell");
        w.write_u8(n_addrs);
        for addr in self.my_addr.iter() {
            enc_one_netinfo_addr(w, addr);
        }
@@ -814,8 +819,12 @@ struct TorCert {
/// encode a single TorCert `c` onto a Writer `w`.
fn enc_one_tor_cert<W: Writer + ?Sized>(w: &mut W, c: &TorCert) {
    w.write_u8(c.certtype);
    assert!(c.cert.len() <= u16::MAX as usize);
    w.write_u16(c.cert.len() as u16);
    let cert_len: u16 = c
        .cert
        .len()
        .try_into()
        .expect("Impossibly long certificate");
    w.write_u16(cert_len);
    w.write_all(&c.cert[..]);
}
/// Try to extract a TorCert from the reader `r`.
@@ -892,8 +901,12 @@ impl Body for Certs {
        ChanMsg::Certs(self)
    }
    fn write_body_onto<W: Writer + ?Sized>(self, w: &mut W) {
        assert!(self.certs.len() <= u8::MAX as usize);
        w.write_u8(self.certs.len() as u8);
        let n_certs: u8 = self
            .certs
            .len()
            .try_into()
            .expect("Too many certs to encode in cell.");
        w.write_u8(n_certs);
        for c in self.certs.iter() {
            enc_one_tor_cert(w, c)
        }
Loading