Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
DVR: add extra channel access checks to channel_set functions
  • Loading branch information
perexg committed Apr 11, 2016
1 parent 679ed1c commit 57f8bca
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/channels.c
Expand Up @@ -596,7 +596,7 @@ channel_access(channel_t *ch, access_t *a, int disabled)
{
char ubuf[UUID_HEX_SIZE];

if (!ch)
if (!ch || !a)
return 0;

if (!disabled && !ch->ch_enabled)
Expand Down
2 changes: 2 additions & 0 deletions src/dvr/dvr_autorec.c
Expand Up @@ -483,6 +483,8 @@ dvr_autorec_entry_class_channel_set(void *o, const void *v)
return 1;
}
} else if (dae->dae_channel != ch) {
if (!channel_access(ch, dae->dae_id.in_access, 1))
return 0;
if (dae->dae_channel)
LIST_REMOVE(dae, dae_channel_link);
dae->dae_channel = ch;
Expand Down
2 changes: 2 additions & 0 deletions src/dvr/dvr_db.c
Expand Up @@ -2271,6 +2271,8 @@ dvr_entry_class_channel_set(void *o, const void *v)
return 1;
}
} else if (de->de_channel != ch) {
if (!channel_access(ch, de->de_id.in_access, 1))
return 0;
if (de->de_channel)
LIST_REMOVE(de, de_channel_link);
free(de->de_channel_name);
Expand Down
2 changes: 2 additions & 0 deletions src/dvr/dvr_timerec.c
Expand Up @@ -327,6 +327,8 @@ dvr_timerec_entry_class_channel_set(void *o, const void *v)
return 1;
}
} else if (dte->dte_channel != ch) {
if (!channel_access(ch, dte->dte_id.in_access, 1))
return 0;
if (dte->dte_channel)
LIST_REMOVE(dte, dte_channel_link);
dte->dte_channel = ch;
Expand Down

0 comments on commit 57f8bca

Please sign in to comment.