diff --git a/rust/src/rdp/rdp.rs b/rust/src/rdp/rdp.rs index 77bc82fbf2..f0faf52371 100644 --- a/rust/src/rdp/rdp.rs +++ b/rust/src/rdp/rdp.rs @@ -146,7 +146,7 @@ impl RdpState { let mut index = 0; for ii in 0..len { let tx = &self.transactions[ii]; - if tx.id == tx_id { + if tx.id == tx_id + 1 { found = true; index = ii; break; @@ -158,7 +158,7 @@ impl RdpState { } fn get_tx(&self, tx_id: u64) -> Option<&RdpTransaction> { - self.transactions.iter().find(|&tx| tx.id == tx_id) + self.transactions.iter().find(|&tx| tx.id == tx_id + 1) } fn new_tx(&mut self, item: RdpTransactionItem, direction: Direction) -> RdpTransaction { @@ -721,7 +721,7 @@ mod tests { state.transactions.push_back(tx0); state.transactions.push_back(tx1); state.transactions.push_back(tx2); - assert_eq!(Some(&state.transactions[1]), state.get_tx(2)); + assert_eq!(Some(&state.transactions[1]), state.get_tx(1)); } #[test] @@ -742,11 +742,11 @@ mod tests { state.transactions.push_back(tx0); state.transactions.push_back(tx1); state.transactions.push_back(tx2); - state.free_tx(1); + state.free_tx(0); assert_eq!(3, state.next_id); assert_eq!(2, state.transactions.len()); assert_eq!(2, state.transactions[0].id); assert_eq!(3, state.transactions[1].id); - assert_eq!(None, state.get_tx(1)); + assert_eq!(None, state.get_tx(0)); } }