summaryrefslogtreecommitdiffstats
path: root/bsps/shared/grlib
diff options
context:
space:
mode:
authorRyan Long <ryan.long@oarcorp.com>2021-02-16 17:39:30 -0500
committerJoel Sherrill <joel@rtems.org>2021-02-19 14:05:50 -0600
commitfac1ff18203b4fcb53610244b066a427f88faa3a (patch)
tree509f5729c0c3976e85d01112302c56d51eba3ef2 /bsps/shared/grlib
parentgrtc.c: Fix Dereference before null check (CID #1399840) (diff)
downloadrtems-fac1ff18203b4fcb53610244b066a427f88faa3a.tar.bz2
grspw_pkt.c: Fix Dereference before null check (CID #1399846)
CID 1399846: Dereference before null check in grspw_addr_ctrl(). Closes #4253
Diffstat (limited to 'bsps/shared/grlib')
-rw-r--r--bsps/shared/grlib/spw/grspw_pkt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/bsps/shared/grlib/spw/grspw_pkt.c b/bsps/shared/grlib/spw/grspw_pkt.c
index 2cc4e886d6..ca8767eeae 100644
--- a/bsps/shared/grlib/spw/grspw_pkt.c
+++ b/bsps/shared/grlib/spw/grspw_pkt.c
@@ -655,7 +655,7 @@ void grspw_hw_support(void *d, struct grspw_hw_sup *hw)
void grspw_addr_ctrl(void *d, struct grspw_addr_config *cfg)
{
struct grspw_priv *priv = d;
- struct grspw_regs *regs = priv->regs;
+ struct grspw_regs *regs;
unsigned int ctrl, nodeaddr;
SPIN_IRQFLAGS(irqflags);
int i;
@@ -663,6 +663,8 @@ void grspw_addr_ctrl(void *d, struct grspw_addr_config *cfg)
if (!priv || !cfg)
return;
+ regs = priv->regs;
+
SPIN_LOCK_IRQ(&priv->devlock, irqflags);
if (cfg->promiscuous != -1) {