sip: use right slice to take line from

We iterate over input, but we are now at start.
Avois quadratic complexity turning to OOM.

Ticket: 7093
pull/11312/head
Philippe Antoine 2 years ago
parent 49ecf37126
commit 4ccbcc4684

@ -175,7 +175,7 @@ impl SIPState {
let tx_id = tx.id; let tx_id = tx.id;
sip_frames_ts(flow, &stream_slice, &request, tx_id); sip_frames_ts(flow, &stream_slice, &request, tx_id);
tx.request = Some(request); tx.request = Some(request);
if let Ok((_, req_line)) = sip_take_line(input) { if let Ok((_, req_line)) = sip_take_line(start) {
tx.request_line = req_line; tx.request_line = req_line;
} }
self.transactions.push_back(tx); self.transactions.push_back(tx);
@ -270,7 +270,7 @@ impl SIPState {
let tx_id = tx.id; let tx_id = tx.id;
sip_frames_tc(flow, &stream_slice, &response, tx_id); sip_frames_tc(flow, &stream_slice, &response, tx_id);
tx.response = Some(response); tx.response = Some(response);
if let Ok((_, resp_line)) = sip_take_line(input) { if let Ok((_, resp_line)) = sip_take_line(start) {
tx.response_line = resp_line; tx.response_line = resp_line;
} }
self.transactions.push_back(tx); self.transactions.push_back(tx);

Loading…
Cancel
Save