diff options
author | Shaun Ruffell <sruffell@digium.com> | 2010-09-20 20:33:23 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2010-09-20 20:33:23 +0000 |
commit | 2d10ca4b8833a278dc6a38a131fd67fe097774a4 (patch) | |
tree | d29926d25e86de0c53813a75cf7f0042ed3463e9 /drivers/dahdi/dahdi-base.c | |
parent | 32fe3b827580de7c7d2814e78297cdb5f94fc383 (diff) |
dahdi: Reduce 'chans' dereferencing in dahdi_check_conf
Review: https://reviewboard.asterisk.org/r/905/
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9366 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/dahdi-base.c')
-rw-r--r-- | drivers/dahdi/dahdi-base.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/dahdi/dahdi-base.c b/drivers/dahdi/dahdi-base.c index 1fa06d5..84b9528 100644 --- a/drivers/dahdi/dahdi-base.c +++ b/drivers/dahdi/dahdi-base.c @@ -922,12 +922,14 @@ static void dahdi_check_conf(int x) return; for (y = 0; y < maxchans; y++) { - if (chans[y] && (chans[y]->confna == x) && - ((chans[y]->confmode & DAHDI_CONF_MODE_MASK) == DAHDI_CONF_CONF || - (chans[y]->confmode & DAHDI_CONF_MODE_MASK) == DAHDI_CONF_CONFANN || - (chans[y]->confmode & DAHDI_CONF_MODE_MASK) == DAHDI_CONF_CONFMON || - (chans[y]->confmode & DAHDI_CONF_MODE_MASK) == DAHDI_CONF_CONFANNMON || - (chans[y]->confmode & DAHDI_CONF_MODE_MASK) == DAHDI_CONF_REALANDPSEUDO)) { + struct dahdi_chan *const chan = chans[y]; + const int confmode = chan->confmode & DAHDI_CONF_MODE_MASK; + if (chan && (chan->confna == x) && + (confmode == DAHDI_CONF_CONF || + confmode == DAHDI_CONF_CONFANN || + confmode == DAHDI_CONF_CONFMON || + confmode == DAHDI_CONF_CONFANNMON || + confmode == DAHDI_CONF_REALANDPSEUDO)) { return; } } |