From b57280ff4894d31f9f0d3324bb7a64424daea3a5 Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Tue, 16 Nov 2021 17:52:58 -0600 Subject: [PATCH] rdp: fix transaction id By our convention the transaction ID is incremented then applied to the new transaction. And the generic transaction iterator requires this behaviour. --- rust/src/rdp/rdp.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rust/src/rdp/rdp.rs b/rust/src/rdp/rdp.rs index 58083cfaff..4e60e7b389 100644 --- a/rust/src/rdp/rdp.rs +++ b/rust/src/rdp/rdp.rs @@ -155,8 +155,8 @@ impl RdpState { } fn new_tx(&mut self, item: RdpTransactionItem) -> RdpTransaction { - let tx = RdpTransaction::new(self.next_id, item); self.next_id += 1; + let tx = RdpTransaction::new(self.next_id, item); return tx; } @@ -602,8 +602,8 @@ mod tests { state.transactions.push(tx0); state.transactions.push(tx1); assert_eq!(2, state.transactions.len()); - assert_eq!(0, state.transactions[0].id); - assert_eq!(1, state.transactions[1].id); + assert_eq!(1, state.transactions[0].id); + assert_eq!(2, state.transactions[1].id); assert_eq!(false, state.tls_parsing); assert_eq!(false, state.bypass_parsing); } @@ -626,7 +626,7 @@ mod tests { state.transactions.push(tx0); state.transactions.push(tx1); state.transactions.push(tx2); - assert_eq!(Some(&state.transactions[1]), state.get_tx(1)); + assert_eq!(Some(&state.transactions[1]), state.get_tx(2)); } #[test] @@ -650,8 +650,8 @@ mod tests { state.free_tx(1); assert_eq!(3, state.next_id); assert_eq!(2, state.transactions.len()); - assert_eq!(0, state.transactions[0].id); - assert_eq!(2, state.transactions[1].id); + assert_eq!(2, state.transactions[0].id); + assert_eq!(3, state.transactions[1].id); assert_eq!(None, state.get_tx(1)); } }