]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
subscriptions: Fix crash when subscription is in the remove queue list, but unsubscri...
authorJaroslav Kysela <perex@perex.cz>
Tue, 17 Mar 2015 13:08:26 +0000 (14:08 +0100)
committerJaroslav Kysela <perex@perex.cz>
Tue, 17 Mar 2015 13:08:26 +0000 (14:08 +0100)
src/subscriptions.c

index 8af33476aa7340e8a751bbb3522bfad0fde175c8..40aaa6befa67668909f150d8e6462bb8a08cde42 100644 (file)
@@ -336,10 +336,8 @@ subscription_reschedule(void)
     subscription_show_info(s);
   }
 
-  while ((s = LIST_FIRST(&subscriptions_remove))) {
-    LIST_REMOVE(s, ths_remove_link);
+  while ((s = LIST_FIRST(&subscriptions_remove)))
     subscription_unsubscribe(s, 0);
-  }
 
   if (postpone <= 0 || postpone == INT_MAX)
     postpone = 2;
@@ -513,6 +511,7 @@ subscription_unsubscribe(th_subscription_t *s, int quiet)
   service_instance_list_clear(&s->ths_instances);
 
   LIST_REMOVE(s, ths_global_link);
+  LIST_SAFE_REMOVE(s, ths_remove_link);
 
 #if ENABLE_MPEGTS
   if (s->ths_raw_service)