]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
fix appid service dispatch handling issue
authorRuss Combs <rucombs@cisco.com>
Sat, 17 Dec 2016 20:41:33 +0000 (15:41 -0500)
committerRuss Combs <rucombs@cisco.com>
Sat, 17 Dec 2016 20:41:33 +0000 (15:41 -0500)
thanks to João Soares <joaosoares11@hotmail.com> for reporting the issue

src/network_inspectors/appid/service_plugins/service_base.cc

index 0b98db2e2a63ec330671429ffad4cb863947a143..13e043f6ad5c5525c82bed0dfd3176c81295c5d6 100644 (file)
@@ -1881,11 +1881,15 @@ int AppIdDiscoverService(Packet* p, const int dir, AppIdSession* asd)
         for(unsigned i = 0; i < num_failed; i++)
         {
             SF_LNODE* iter;
-            RNAServiceElement* service = (RNAServiceElement*)sflist_first(asd->candidate_service_list, &iter);
-            assert(service);
+            RNAServiceElement* service = (RNAServiceElement*)sflist_first(
+                asd->candidate_service_list, &iter);
+
+            if ( !service )
+                break;
 
             while( service != failed_svc[i] )
                 service = (RNAServiceElement*)sflist_next(&iter);
+
             sflist_remove_node(asd->candidate_service_list, iter);
         }