ipc: wcd-dsp-glink: prevent potential NULL pointer dereference

The current logic that checks pointer "rpdev" for NULL is not
correct. Fix it to prevent potential NULL pointer dereference.

Change-Id: Ieaad98396ff43b66b0dd41efbfbf9f6ae923a2bb
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
This commit is contained in:
Xiaoyu Ye 2018-03-22 11:55:06 -07:00 committed by Gerrit - the friendly Code Review server
parent 7b0ae02b27
commit 7c54a1801d

View file

@ -266,7 +266,7 @@ static void wdsp_tx_buf_work(struct work_struct *work)
spin_lock(&ch->ch_lock);
rpdev = ch->handle;
if (rpdev || ch->ch_state == WDSP_CH_CONNECTED) {
if (rpdev && ch->ch_state == WDSP_CH_CONNECTED) {
spin_unlock(&ch->ch_lock);
ret = rpmsg_send(rpdev->ept, cpkt->payload,
cpkt->payload_size);
@ -275,8 +275,11 @@ static void wdsp_tx_buf_work(struct work_struct *work)
__func__, ret);
} else {
spin_unlock(&ch->ch_lock);
dev_err(wpriv->dev, "%s: channel %s is not in connected state\n",
__func__, ch->ch_name);
if (rpdev)
dev_err(wpriv->dev, "%s: channel %s is not in connected state\n",
__func__, ch->ch_name);
else
dev_err(wpriv->dev, "%s: rpdev is NULL\n", __func__);
}
vfree(tx_buf);
}