From: Luis Alves Date: Sun, 21 Oct 2018 23:20:42 +0000 (+0100) Subject: dvr_rec: fix early access_destroy X-Git-Tag: v4.2.8~36 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5b46d61d6454bfd62618467a90a9f68896e966b4;p=thirdparty%2Ftvheadend.git dvr_rec: fix early access_destroy --- diff --git a/src/dvr/dvr_rec.c b/src/dvr/dvr_rec.c index bda175e42..02b405ee9 100644 --- a/src/dvr/dvr_rec.c +++ b/src/dvr/dvr_rec.c @@ -108,10 +108,10 @@ dvr_rec_subscribe(dvr_entry_t *de) return -EOVERFLOW; } } - access_destroy(aa); if(stat(de->de_config->dvr_storage, &st) || !S_ISDIR(st.st_mode)) { tvherror(LS_DVR, "the directory '%s' is not accessible", de->de_config->dvr_storage); + access_destroy(aa); return -EIO; } @@ -129,6 +129,7 @@ dvr_rec_subscribe(dvr_entry_t *de) profile_get_name(pro), channel_get_name(de->de_channel)); profile_chain_close(prch); free(prch); + access_destroy(aa); return -EINVAL; } } @@ -141,6 +142,7 @@ dvr_rec_subscribe(dvr_entry_t *de) channel_get_name(de->de_channel), profile_get_name(pro)); profile_chain_close(prch); free(prch); + access_destroy(aa); return -EINVAL; } @@ -151,6 +153,7 @@ dvr_rec_subscribe(dvr_entry_t *de) if (de->de_config->dvr_preproc) dvr_spawn_cmd(de, de->de_config->dvr_preproc, NULL, 1); + access_destroy(aa); return 0; }