From 31d77bc18a2808d256fc3bf4a27d556861755cdf Mon Sep 17 00:00:00 2001 From: wadesong Date: Sun, 28 May 2017 14:45:21 +0800 Subject: [PATCH] qcacmn: Fix a NULL pointer dereference issue In htc_send_data_pkt, netbuf will not contain a valid pointer for TX packet count updating unless pPacket is not NULL. Move the TX packet count updating code into the code block where pPacket is containing a valid pointer. Change-Id: I5cf6787b731df36c41c0c12a585e816e54ffb904 CRs-Fixed: 2053354 --- htc/htc_send.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/htc/htc_send.c b/htc/htc_send.c index 626d02055593..ccebf5b4d43d 100644 --- a/htc/htc_send.c +++ b/htc/htc_send.c @@ -1724,6 +1724,11 @@ QDF_STATUS htc_send_data_pkt(HTC_HANDLE HTCHandle, HTC_PACKET *pPacket, UNLOCK_HTC_TX(target); return QDF_STATUS_SUCCESS; } + + QDF_NBUF_UPDATE_TX_PKT_COUNT(netbuf, QDF_NBUF_TX_PKT_HTC); + DPTRACE(qdf_dp_trace(netbuf, QDF_DP_TRACE_HTC_PACKET_PTR_RECORD, + qdf_nbuf_data_addr(netbuf), + sizeof(qdf_nbuf_data(netbuf)), QDF_TX)); } else { LOCK_HTC_TX(target); pEndpoint = &target->endpoint[1]; @@ -1796,10 +1801,6 @@ QDF_STATUS htc_send_data_pkt(HTC_HANDLE HTCHandle, HTC_PACKET *pPacket, tx_resources); UNLOCK_HTC_TX(target); } - QDF_NBUF_UPDATE_TX_PKT_COUNT(netbuf, QDF_NBUF_TX_PKT_HTC); - DPTRACE(qdf_dp_trace(netbuf, QDF_DP_TRACE_HTC_PACKET_PTR_RECORD, - QDF_TRACE_DEFAULT_PDEV_ID, qdf_nbuf_data_addr(netbuf), - sizeof(qdf_nbuf_data(netbuf)), QDF_TX)); /* send what we can */ while (true) {