From a6740f923769a20839eff4e70448c9bdf6d82204 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Fri, 9 Dec 2016 09:22:32 +0100 Subject: [PATCH] DVR: try to fix crash when invalid streaming profile is selected, fixes #4128 --- src/dvr/dvr_db.c | 6 ++++++ src/dvr/dvr_rec.c | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c index 165caa64c..477d2a656 100644 --- a/src/dvr/dvr_db.c +++ b/src/dvr/dvr_db.c @@ -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)); diff --git a/src/dvr/dvr_rec.c b/src/dvr/dvr_rec.c index 02ce2ae85..709968d37 100644 --- a/src/dvr/dvr_rec.c +++ b/src/dvr/dvr_rec.c @@ -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; } -- 2.47.3