Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c54a180 authored by Xiaoyu Ye's avatar Xiaoyu Ye Committed by Gerrit - the friendly Code Review server
Browse files

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: default avatarXiaoyu Ye <benyxy@codeaurora.org>
parent 7b0ae02b
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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);
		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);
}