Merge in SNORT/snort3 from ~UMASHARM/snort3:coverity_fixes to master
Squashed commit of the following:
commit
5f57ab950b53a47217d9a1155e4988f31bd288a5
Author: Umang Sharma <umasharm@cisco.com>
Date: Wed Nov 22 02:25:17 2023 -0500
appid: fixing coverity issues
pattern_data.clear();
- for (auto kv : tcp_detectors)
+ for (const auto& kv : tcp_detectors)
delete kv.second;
- for (auto kv : udp_detectors)
+ for (const auto& kv : udp_detectors)
delete kv.second;
}
uint16_t port = 0;
TunnelDest(const char* string_srcip, uint16_t tun_port)
{
+ ip.clear();
if ( ip.set(string_srcip) == SFIP_SUCCESS )
port = tun_port;
}
};
#endif
-
{
if ( bucket->app_record_cnt )
{
- for (auto it : bucket->apps_tree)
+ for (auto& it : bucket->apps_tree)
{
struct AppIdStatRecord& record = it.second;
start_stats_period(now);
}
}
-
struct StatsBucket
{
- uint32_t start_time = 0;
+ time_t start_time = 0;
std::map<AppId, AppIdStatRecord> apps_tree;
struct
{
fd->pos++;
break;
case BIT_STATE_MESSAGE_LEN:
+ if (fd->pos >= offsetof(ClientBITMsg, code))
+ break;
+
fd->l.raw_len[fd->pos] = args.data[offset];
fd->pos++;
- if (fd->pos >= offsetof(ClientBITMsg, code))
+ if (fd->pos == offsetof(ClientBITMsg, code))
{
fd->stringlen = ntohl(fd->l.len);
fd->state = BIT_STATE_MESSAGE_DATA;
add_app(args.asd, APP_ID_BITTORRENT, APP_ID_BITTORRENT, nullptr, args.change_bits);
return APPID_SUCCESS;
}
-
}
break;
case TNS_STATE_MESSAGE_CONNECT:
+ if (fd->pos >= (CONNECT_VERSION_OFFSET + 2))
+ break;
fd->l.raw_len[fd->pos - CONNECT_VERSION_OFFSET] = args.data[offset];
fd->pos++;
- if (fd->pos >= (CONNECT_VERSION_OFFSET + 2))
+ if (fd->pos == (CONNECT_VERSION_OFFSET + 2))
{
{
switch (ntohs(fd->l.len))
}
return APPID_SUCCESS;
}
-
new TnsClientDetector(this);
new VncClientDetector(this);
- for ( auto kv : tcp_detectors )
+ for ( auto& kv : tcp_detectors )
kv.second->initialize(inspector);
- for ( auto kv : udp_detectors )
+ for ( auto& kv : udp_detectors )
kv.second->initialize(inspector);
}
void ClientDiscovery::reload()
{
- for ( auto kv : tcp_detectors )
+ for ( auto& kv : tcp_detectors )
kv.second->reload();
- for ( auto kv : udp_detectors )
+ for ( auto& kv : udp_detectors )
kv.second->reload();
}