]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
DVR: try to fix crash when invalid streaming profile is selected, fixes #4128
authorJaroslav Kysela <perex@perex.cz>
Fri, 9 Dec 2016 08:22:32 +0000 (09:22 +0100)
committerJaroslav Kysela <perex@perex.cz>
Fri, 9 Dec 2016 08:22:32 +0000 (09:22 +0100)
src/dvr/dvr_db.c
src/dvr/dvr_rec.c

index 165caa64c040b0e4b4da1ce24181faa40f52a9ed..477d2a6567ef6b161cb1d51fab2b3b39ccc5446c 100644 (file)
@@ -1204,6 +1204,12 @@ dvr_timer_start_recording(void *aux)
   idnode_changed(&de->de_id);
   htsp_dvr_entry_update(de);
   dvr_rec_subscribe(de);
+  if (!de->de_chain) {
+    de->de_rec_state = DVR_RS_ERROR;
+    de->de_last_error = SM_CODE_BAD_SOURCE;
+    dvr_entry_assign_sched_state(de, DVR_COMPLETED);
+    return;
+  }
 
   gtimer_arm_abs(&de->de_timer, dvr_timer_stop_recording, de, 
                  dvr_entry_get_stop_time(de));
index 02ce2ae85d42a8932aaf8ed48d8c7b396daaf5fe..709968d376a447880d94aab6bd96eeb721a96cab 100644 (file)
@@ -95,7 +95,6 @@ dvr_rec_subscribe(dvr_entry_t *de)
              channel_get_name(de->de_channel));
     profile_chain_close(prch);
     free(prch);
-    de->de_chain = NULL;
     return;
   }