mirror of
https://github.com/zeek/zeek.git
synced 2025-10-14 04:28:20 +00:00
smb: Unify transaction_data_to_val() usage
the data/string handling in smb1-com-transaction.pcac was improved
with c75519ca88
, re-use the added
functionality also for smb1-com-transaction-secondary.pac to avoid
buffer overflows.
This commit is contained in:
parent
56f9110eca
commit
4c00c3c4ca
1 changed files with 2 additions and 23 deletions
|
@ -18,32 +18,11 @@ refine connection SMB_Conn += {
|
||||||
auto parameters = zeek::make_intrusive<zeek::StringVal>(${val.parameters}.length(),
|
auto parameters = zeek::make_intrusive<zeek::StringVal>(${val.parameters}.length(),
|
||||||
(const char*)${val.parameters}.data());
|
(const char*)${val.parameters}.data());
|
||||||
zeek::StringValPtr payload_str;
|
zeek::StringValPtr payload_str;
|
||||||
SMB1_transaction_data* payload = nullptr;
|
|
||||||
|
|
||||||
if ( ${val.data_count} > 0 )
|
if ( ${val.data_count} > 0 )
|
||||||
{
|
payload_str = transaction_data_to_val(${val.data});
|
||||||
payload = ${val.data};
|
else
|
||||||
}
|
|
||||||
|
|
||||||
if ( payload )
|
|
||||||
{
|
|
||||||
switch ( payload->trans_type() ) {
|
|
||||||
case SMB_PIPE:
|
|
||||||
payload_str = zeek::make_intrusive<zeek::StringVal>(${val.data_count}, (const char*)${val.data.pipe_data}.data());
|
|
||||||
break;
|
|
||||||
case SMB_UNKNOWN:
|
|
||||||
payload_str = zeek::make_intrusive<zeek::StringVal>(${val.data_count}, (const char*)${val.data.unknown}.data());
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
payload_str = zeek::make_intrusive<zeek::StringVal>(${val.data_count}, (const char*)${val.data.data}.data());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! payload_str )
|
|
||||||
{
|
|
||||||
payload_str = zeek::val_mgr->EmptyString();
|
payload_str = zeek::val_mgr->EmptyString();
|
||||||
}
|
|
||||||
|
|
||||||
zeek::BifEvent::enqueue_smb1_transaction_secondary_request(zeek_analyzer(),
|
zeek::BifEvent::enqueue_smb1_transaction_secondary_request(zeek_analyzer(),
|
||||||
zeek_analyzer()->Conn(),
|
zeek_analyzer()->Conn(),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue