diff options
author | Ryan Long <ryan.long@oarcorp.com> | 2021-02-16 17:39:30 -0500 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2021-02-19 14:05:50 -0600 |
commit | fac1ff18203b4fcb53610244b066a427f88faa3a (patch) | |
tree | 509f5729c0c3976e85d01112302c56d51eba3ef2 /bsps/shared/grlib | |
parent | grtc.c: Fix Dereference before null check (CID #1399840) (diff) | |
download | rtems-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.c | 4 |
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) { |