diff --git a/src/dvr/dvr_autorec.c b/src/dvr/dvr_autorec.c index 56183f2b..1dc3156d 100644 --- a/src/dvr/dvr_autorec.c +++ b/src/dvr/dvr_autorec.c @@ -410,7 +410,7 @@ dvr_autorec_entry_class_title_set(void *o, const void *v) free(dae->dae_title); dae->dae_title = NULL; } - if (title != NULL && title[0] != '\0' && + if (title[0] != '\0' && !regcomp(&dae->dae_title_preg, title, REG_ICASE | REG_EXTENDED | REG_NOSUB)) dae->dae_title = strdup(title); diff --git a/src/dvr/dvr_rec.c b/src/dvr/dvr_rec.c index 59f05b65..a1113caa 100644 --- a/src/dvr/dvr_rec.c +++ b/src/dvr/dvr_rec.c @@ -178,11 +178,12 @@ pvr_generate_filename(dvr_entry_t *de, const streaming_start_t *ss) struct stat st; char *filename, *s; struct tm tm; - dvr_config_t *cfg = de->de_config; + dvr_config_t *cfg; if (de == NULL) return -1; + cfg = de->de_config; strncpy(path, cfg->dvr_storage, sizeof(path)); path[sizeof(path)-1] = '\0'; diff --git a/src/input/mpegts/linuxdvb/linuxdvb_frontend.c b/src/input/mpegts/linuxdvb/linuxdvb_frontend.c index 8de4f471..572d01bc 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_frontend.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_frontend.c @@ -118,9 +118,11 @@ static int linuxdvb_frontend_dvbs_class_satconf_set ( void *self, const void *str ) { linuxdvb_frontend_t *lfe = self; - if (lfe->lfe_satconf && !strcmp(str ?: "", lfe->lfe_satconf->ls_type)) - return 0; - linuxdvb_satconf_delete(lfe->lfe_satconf, 1); + if (lfe->lfe_satconf) { + if (!strcmp(str ?: "", lfe->lfe_satconf->ls_type)) + return 0; + linuxdvb_satconf_delete(lfe->lfe_satconf, 1); + } lfe->lfe_satconf = linuxdvb_satconf_create(lfe, str, NULL, NULL); return 1; } diff --git a/src/muxer/tvh/mkmux.c b/src/muxer/tvh/mkmux.c index 3e2a11ea..045bad48 100644 --- a/src/muxer/tvh/mkmux.c +++ b/src/muxer/tvh/mkmux.c @@ -659,8 +659,8 @@ _mk_build_metadata(const dvr_entry_t *de, const epg_broadcast_t *ebc) channel_t *ch; lang_str_t *ls = NULL; - if (ebc) ee = ebc->episode; - else if (de->de_bcast) ee = de->de_bcast->episode; + if (ebc) ee = ebc->episode; + else if (de && de->de_bcast) ee = de->de_bcast->episode; if (de) ch = de->de_channel; else ch = ebc->channel;