From: Tom Peters (thopeter) Date: Wed, 2 Jan 2019 16:59:28 +0000 (-0500) Subject: Merge pull request #1475 in SNORT/snort3 from ~SBAIGAL/snort3:designated_warnings... X-Git-Tag: 3.0.0-251~74 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cbe6a583df46ad650c55f42f3c652ca1a2532ea0;p=thirdparty%2Fsnort3.git Merge pull request #1475 in SNORT/snort3 from ~SBAIGAL/snort3:designated_warnings to master Squashed commit of the following: commit 5ec8c4ccbeb006d2975459c1b19c6eb9dee0f881 Author: Steven Baigal (sbaigal) Date: Tue Dec 18 13:45:52 2018 -0500 misc: fixed warnings generated from latest gcc --- diff --git a/src/actions/act_react.cc b/src/actions/act_react.cc index 23b9cb01c..679551858 100644 --- a/src/actions/act_react.cc +++ b/src/actions/act_react.cc @@ -259,7 +259,7 @@ bool ReactModule::getpage(const char* file) page[n] = '\0'; msg = strstr(page, MSG_KEY); if ( msg ) - strncpy(msg, "%s", 2); + strncpy(msg, "%s", 3); // search for % percent_s = strstr(page, MSG_PERCENT); diff --git a/src/hash/zhash.cc b/src/hash/zhash.cc index ecd77fe6d..c996a9625 100644 --- a/src/hash/zhash.cc +++ b/src/hash/zhash.cc @@ -52,7 +52,7 @@ static inline ZHashNode* s_node_alloc(int keysize) auto node = static_cast( ::operator new(sizeof(ZHashNode) + keysize)); - memset(node, 0, sizeof(ZHashNode)); + *node = {}; return node; } diff --git a/src/host_tracker/host_tracker_module.cc b/src/host_tracker/host_tracker_module.cc index 0b175a918..086fd02fc 100644 --- a/src/host_tracker/host_tracker_module.cc +++ b/src/host_tracker/host_tracker_module.cc @@ -113,7 +113,7 @@ bool HostTrackerModule::end(const char* fqn, int idx, SnortConfig*) if ( idx && !strcmp(fqn, "host_tracker.services") ) { host->add_service(app); - memset(&app, 0, sizeof(app)); + app = {}; } else if ( idx && !strcmp(fqn, "host_tracker") ) { diff --git a/src/network_inspectors/packet_tracer/packet_tracer_module.cc b/src/network_inspectors/packet_tracer/packet_tracer_module.cc index a1b260e3b..8fb413c68 100644 --- a/src/network_inspectors/packet_tracer/packet_tracer_module.cc +++ b/src/network_inspectors/packet_tracer/packet_tracer_module.cc @@ -124,13 +124,13 @@ static int enable(lua_State* L) if (sip.is_set()) { - memcpy(&constraints.sip, sip.get_ip6_ptr(), sizeof(constraints.sip)); + constraints.sip.set(sip); constraints.sip_flag = true; } if (dip.is_set()) { - memcpy(&constraints.dip, dip.get_ip6_ptr(), sizeof(constraints.dip)); + constraints.dip.set(dip); constraints.dip_flag = true; } diff --git a/src/piglet_plugins/pp_codec_data_iface.cc b/src/piglet_plugins/pp_codec_data_iface.cc index 56a0924c4..e34d75c13 100644 --- a/src/piglet_plugins/pp_codec_data_iface.cc +++ b/src/piglet_plugins/pp_codec_data_iface.cc @@ -67,7 +67,6 @@ static const luaL_Reg methods[] = Lua::Args args(L); auto& self = CodecDataIface.create(L, ProtocolId::ETHERTYPE_NOT_SET); - memset(&self, 0, sizeof(self)); if ( args[1].is_table() ) args[1].check_table(set_fields, self); diff --git a/src/service_inspectors/dce_rpc/dce_http_proxy_splitter.cc b/src/service_inspectors/dce_rpc/dce_http_proxy_splitter.cc index 238904200..49d3a1323 100644 --- a/src/service_inspectors/dce_rpc/dce_http_proxy_splitter.cc +++ b/src/service_inspectors/dce_rpc/dce_http_proxy_splitter.cc @@ -259,8 +259,8 @@ TEST_CASE("DceHttpProxySplitter-scan - extra_proxy_request", "[http_proxy_splitt char* string = new char[strlen(HTTP_PROXY_REQUEST)+strlen(extra)+1]; Flow* flow = new Flow(); uint32_t fp = 0; - strncpy(string,(const char*)HTTP_PROXY_REQUEST,strlen(HTTP_PROXY_REQUEST)); - strncpy(string+strlen(HTTP_PROXY_REQUEST),extra,strlen(extra)); + strncpy(string,(const char*)HTTP_PROXY_REQUEST,strlen(HTTP_PROXY_REQUEST)+1); + strncpy(string+strlen(HTTP_PROXY_REQUEST),extra,strlen(extra)+1); REQUIRE(splitter->scan(flow, (const uint8_t*)string, (strlen(HTTP_PROXY_REQUEST)+strlen(extra)), PKT_FROM_CLIENT, &fp) == diff --git a/src/service_inspectors/dce_rpc/dce_http_server_splitter.cc b/src/service_inspectors/dce_rpc/dce_http_server_splitter.cc index a734e8a07..368826d01 100644 --- a/src/service_inspectors/dce_rpc/dce_http_server_splitter.cc +++ b/src/service_inspectors/dce_rpc/dce_http_server_splitter.cc @@ -174,8 +174,8 @@ TEST_CASE("DceHttpServerSplitter-scan - extra_server", "[http_server_splitter]") char* string = new char[strlen(HTTP_SERVER_MARKER)+strlen(extra)+1]; Flow* flow = new Flow(); uint32_t fp; - strncpy(string,(const char*)HTTP_SERVER_MARKER,strlen(HTTP_SERVER_MARKER)); - strncpy(string+strlen(HTTP_SERVER_MARKER),extra,strlen(extra)); + strncpy(string,(const char*)HTTP_SERVER_MARKER,strlen(HTTP_SERVER_MARKER)+1); + strncpy(string+strlen(HTTP_SERVER_MARKER),extra,strlen(extra)+1); REQUIRE(splitter->scan(flow, (const uint8_t*)string, (strlen(HTTP_SERVER_MARKER)+strlen(extra)), PKT_FROM_SERVER, &fp) == diff --git a/src/service_inspectors/http_inspect/http_tables.cc b/src/service_inspectors/http_inspect/http_tables.cc index fbdc28317..6d866c590 100644 --- a/src/service_inspectors/http_inspect/http_tables.cc +++ b/src/service_inspectors/http_inspect/http_tables.cc @@ -213,78 +213,65 @@ const HeaderNormalizer HttpMsgHeadShared::NORMALIZER_CONTENT_LENGTH const HeaderNormalizer HttpMsgHeadShared::NORMALIZER_CHARSET { EVENT__NONE, INF__NONE, false, norm_remove_quotes_lws, norm_to_lower, nullptr }; -#if defined(__clang__) -// Designated initializers are not supported in C++11. However we're going to play compilation -// roulette and hope this works. -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wc99-extensions" -#endif - -/* *INDENT-OFF* */ const HeaderNormalizer* const HttpMsgHeadShared::header_norms[HEAD__MAX_VALUE] = { - [0] = &NORMALIZER_BASIC, - [HEAD__OTHER] = &NORMALIZER_BASIC, - [HEAD_CACHE_CONTROL] = &NORMALIZER_TOKEN_LIST, - [HEAD_CONNECTION] = &NORMALIZER_TOKEN_LIST, - [HEAD_DATE] = &NORMALIZER_DATE, - [HEAD_PRAGMA] = &NORMALIZER_TOKEN_LIST, - [HEAD_TRAILER] = &NORMALIZER_TOKEN_LIST, - [HEAD_COOKIE] = &NORMALIZER_BASIC, - [HEAD_SET_COOKIE] = &NORMALIZER_BASIC, - [HEAD_TRANSFER_ENCODING] = &NORMALIZER_TOKEN_LIST, - [HEAD_UPGRADE] = &NORMALIZER_BASIC, - [HEAD_VIA] = &NORMALIZER_BASIC, - [HEAD_WARNING] = &NORMALIZER_BASIC, - [HEAD_ACCEPT] = &NORMALIZER_TOKEN_LIST, - [HEAD_ACCEPT_CHARSET] = &NORMALIZER_TOKEN_LIST, - [HEAD_ACCEPT_ENCODING] = &NORMALIZER_TOKEN_LIST, - [HEAD_ACCEPT_LANGUAGE] = &NORMALIZER_TOKEN_LIST, - [HEAD_AUTHORIZATION] = &NORMALIZER_BASIC, - [HEAD_EXPECT] = &NORMALIZER_CASE_INSENSITIVE, - [HEAD_FROM] = &NORMALIZER_BASIC, - [HEAD_HOST] = &NORMALIZER_NO_REPEAT, - [HEAD_IF_MATCH] = &NORMALIZER_BASIC, - [HEAD_IF_MODIFIED_SINCE] = &NORMALIZER_DATE, - [HEAD_IF_NONE_MATCH] = &NORMALIZER_BASIC, - [HEAD_IF_RANGE] = &NORMALIZER_BASIC, - [HEAD_IF_UNMODIFIED_SINCE] = &NORMALIZER_DATE, - [HEAD_MAX_FORWARDS] = &NORMALIZER_BASIC, - [HEAD_PROXY_AUTHORIZATION] = &NORMALIZER_BASIC, - [HEAD_RANGE] = &NORMALIZER_BASIC, - [HEAD_REFERER] = &NORMALIZER_URI, - [HEAD_TE] = &NORMALIZER_TOKEN_LIST, - [HEAD_USER_AGENT] = &NORMALIZER_BASIC, - [HEAD_ACCEPT_RANGES] = &NORMALIZER_TOKEN_LIST, - [HEAD_AGE] = &NORMALIZER_NUMBER, - [HEAD_ETAG] = &NORMALIZER_BASIC, - [HEAD_LOCATION] = &NORMALIZER_URI, - [HEAD_PROXY_AUTHENTICATE] = &NORMALIZER_BASIC, - [HEAD_RETRY_AFTER] = &NORMALIZER_BASIC, // may be date or number - [HEAD_SERVER] = &NORMALIZER_BASIC, - [HEAD_VARY] = &NORMALIZER_TOKEN_LIST, - [HEAD_WWW_AUTHENTICATE] = &NORMALIZER_BASIC, - [HEAD_ALLOW] = &NORMALIZER_METHOD_LIST, - [HEAD_CONTENT_ENCODING] = &NORMALIZER_TOKEN_LIST, - [HEAD_CONTENT_LANGUAGE] = &NORMALIZER_TOKEN_LIST, - [HEAD_CONTENT_LENGTH] = &NORMALIZER_CONTENT_LENGTH, - [HEAD_CONTENT_LOCATION] = &NORMALIZER_URI, - [HEAD_CONTENT_MD5] = &NORMALIZER_BASIC, - [HEAD_CONTENT_RANGE] = &NORMALIZER_BASIC, - [HEAD_CONTENT_TYPE] = &NORMALIZER_CHARSET, - [HEAD_EXPIRES] = &NORMALIZER_DATE, - [HEAD_LAST_MODIFIED] = &NORMALIZER_DATE, - [HEAD_X_FORWARDED_FOR] = &NORMALIZER_BASIC, - [HEAD_TRUE_CLIENT_IP] = &NORMALIZER_BASIC, - [HEAD_X_WORKING_WITH] = &NORMALIZER_BASIC, - [HEAD_CONTENT_TRANSFER_ENCODING] = &NORMALIZER_TOKEN_LIST, - [HEAD_MIME_VERSION] = &NORMALIZER_BASIC, - [HEAD_PROXY_AGENT] = &NORMALIZER_BASIC, + &NORMALIZER_BASIC, // 0 + &NORMALIZER_BASIC, // HEAD__OTHER + &NORMALIZER_TOKEN_LIST, // HEAD_CACHE_CONTROL + &NORMALIZER_TOKEN_LIST, // HEAD_CONNECTION + &NORMALIZER_DATE, // HEAD_DATE + &NORMALIZER_TOKEN_LIST, // HEAD_PRAGMA + &NORMALIZER_TOKEN_LIST, // HEAD_TRAILER + &NORMALIZER_BASIC, //HEAD_COOKIE + &NORMALIZER_BASIC, //HEAD_SET_COOKIE + &NORMALIZER_TOKEN_LIST, // HEAD_TRANSFER_ENCODING + &NORMALIZER_BASIC, // HEAD_UPGRADE + &NORMALIZER_BASIC, // HEAD_VIA + &NORMALIZER_BASIC, // HEAD_WARNING + &NORMALIZER_TOKEN_LIST, // HEAD_ACCEPT + &NORMALIZER_TOKEN_LIST, // HEAD_ACCEPT_CHARSET + &NORMALIZER_TOKEN_LIST, // HEAD_ACCEPT_ENCODING + &NORMALIZER_TOKEN_LIST, // HEAD_ACCEPT_LANGUAGE + &NORMALIZER_BASIC, // HEAD_AUTHORIZATION + &NORMALIZER_CASE_INSENSITIVE, // HEAD_EXPECT + &NORMALIZER_BASIC, // HEAD_FROM + &NORMALIZER_NO_REPEAT, // HEAD_HOST + &NORMALIZER_BASIC, // HEAD_IF_MATCH + &NORMALIZER_DATE, // HEAD_IF_MODIFIED_SINCE + &NORMALIZER_BASIC, // HEAD_IF_NONE_MATCH + &NORMALIZER_BASIC, // HEAD_IF_RANGE + &NORMALIZER_DATE, // HEAD_IF_UNMODIFIED_SINCE + &NORMALIZER_BASIC, // HEAD_MAX_FORWARDS + &NORMALIZER_BASIC, // HEAD_PROXY_AUTHORIZATION + &NORMALIZER_BASIC, // HEAD_RANGE + &NORMALIZER_URI, // HEAD_REFERER + &NORMALIZER_TOKEN_LIST, // HEAD_TE + &NORMALIZER_BASIC, // HEAD_USER_AGENT + &NORMALIZER_TOKEN_LIST, // HEAD_ACCEPT_RANGES + &NORMALIZER_NUMBER, // HEAD_AGE + &NORMALIZER_BASIC, // HEAD_ETAG + &NORMALIZER_URI, // HEAD_LOCATION + &NORMALIZER_BASIC, // HEAD_PROXY_AUTHENTICATE + &NORMALIZER_BASIC, // HEAD_RETRY_AFTER, may be date or number + &NORMALIZER_BASIC, // HEAD_SERVER + &NORMALIZER_TOKEN_LIST, // HEAD_VARY + &NORMALIZER_BASIC, // HEAD_WWW_AUTHENTICATE + &NORMALIZER_METHOD_LIST, // HEAD_ALLOW + &NORMALIZER_TOKEN_LIST, // HEAD_CONTENT_ENCODING + &NORMALIZER_TOKEN_LIST, // HEAD_CONTENT_LANGUAGE + &NORMALIZER_CONTENT_LENGTH, // HEAD_CONTENT_LENGTH + &NORMALIZER_URI, // HEAD_CONTENT_LOCATION + &NORMALIZER_BASIC, // HEAD_CONTENT_MD5 + &NORMALIZER_BASIC, // HEAD_CONTENT_RANGE + &NORMALIZER_CHARSET, // HEAD_CONTENT_TYPE + &NORMALIZER_DATE, // HEAD_EXPIRES + &NORMALIZER_DATE, // HEAD_LAST_MODIFIED + &NORMALIZER_BASIC, // HEAD_X_FORWARDED_FOR + &NORMALIZER_BASIC, // HEAD_TRUE_CLIENT_IP + &NORMALIZER_BASIC, // HEAD_X_WORKING_WITH + &NORMALIZER_TOKEN_LIST, // HEAD_CONTENT_TRANSFER_ENCODING + &NORMALIZER_BASIC, // HEAD_MIME_VERSION + &NORMALIZER_BASIC, // HEAD_PROXY_AGENT }; -/* *INDENT-ON* */ - -#if defined(__clang__) -#pragma clang diagnostic pop -#endif const snort::RuleMap HttpModule::http_events[] = { diff --git a/src/service_inspectors/ssh/ssh.cc b/src/service_inspectors/ssh/ssh.cc index 5f79c0df7..2933c9445 100644 --- a/src/service_inspectors/ssh/ssh.cc +++ b/src/service_inspectors/ssh/ssh.cc @@ -55,7 +55,7 @@ unsigned SshFlowData::inspector_id = 0; SshFlowData::SshFlowData() : FlowData(inspector_id) { - memset(&session, 0, sizeof(session)); + session = {}; sshstats.concurrent_sessions++; if(sshstats.max_concurrent_sessions < sshstats.concurrent_sessions) sshstats.max_concurrent_sessions = sshstats.concurrent_sessions; diff --git a/src/stream/base/stream_module.cc b/src/stream/base/stream_module.cc index cf74876b4..fa2806e41 100644 --- a/src/stream/base/stream_module.cc +++ b/src/stream/base/stream_module.cc @@ -118,7 +118,7 @@ const StreamModuleConfig* StreamModule::get_data() bool StreamModule::begin(const char* fqn, int, SnortConfig*) { if ( !strcmp(fqn, MOD_NAME) ) - memset(&config, 0, sizeof(config)); + config = {}; return true; }