]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
dvbcam: fix crash (NULL dereference)
authorJaroslav Kysela <perex@perex.cz>
Tue, 21 Nov 2017 19:00:05 +0000 (20:00 +0100)
committerJaroslav Kysela <perex@perex.cz>
Tue, 21 Nov 2017 19:00:05 +0000 (20:00 +0100)
src/descrambler/dvbcam.c

index 719eb22ecab10045a13a854737c01c434ad23b39..73b6135a3450be8042d6b9c9e1988cd1a661116b 100644 (file)
@@ -313,11 +313,14 @@ dvbcam_service_destroy(th_descrambler_t *td)
   LIST_REMOVE(td, td_service_link);
   TAILQ_REMOVE(&dvbcam_active_services, as, global_link);
   if (do_active_programs) {
-    TAILQ_FOREACH(ac, &dvbcam_active_cams, global_link)
-      if (as->ac == ac)
+    TAILQ_FOREACH(ac, &dvbcam_active_cams, global_link) {
+      if (as->ac == ac) {
         ac->active_programs--;
+        ac->allocated_programs--;
+        break;
+      }
+    }
   }
-  ac->allocated_programs--;
   mpegts_pid_done(&as->ecm_pids);
   mpegts_pid_done(&as->cat_pids);
   free(as->cat_data);