Return-path: Received: from mail.perches.com ([173.55.12.10]:1383 "EHLO mail.perches.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753781Ab1EIRJi (ORCPT ); Mon, 9 May 2011 13:09:38 -0400 Subject: [PATCH V2] rtlwifi: rtl8192cu: Fix memset/memcpy using sizeof(ptr) not sizeof(*ptr) From: Joe Perches To: Larry Finger Cc: Chaoming Li , "John W. Linville" , linux-wireless@vger.kernel.org, netdev@vger.kernel.org, LKML In-Reply-To: <4DC81009.5060501@lwfinger.net> References: <1304919832.19586.15.camel@Joe-Laptop> <4DC81009.5060501@lwfinger.net> Content-Type: text/plain; charset="UTF-8" Date: Mon, 09 May 2011 10:09:36 -0700 Message-ID: <1304960976.19586.51.camel@Joe-Laptop> (sfid-20110509_190959_907226_ADF3C9DC) Mime-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org List-ID: On Mon, 2011-05-09 at 11:02 -0500, Larry Finger wrote: > On 05/09/2011 12:43 AM, Joe Perches wrote: > > Found via coccinelle script > > @@ > > type T; > > T* ptr; > > expression E1; > > @@ > > * memset(E1, 0, sizeof(ptr)); > > Signed-off-by: Joe Perches > > --- > > drivers/net/wireless/rtlwifi/rtl8192cu/trx.c | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c b/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c > > @@ -372,7 +372,7 @@ static void _rtl_rx_process(struct ieee80211_hw *hw, struct sk_buff *skb) [] > > + memset(rx_status, 0, sizeof(*rx_status)); > ACK. Hey Larry. If this is correct, then probably the memcpy at the end of the routine needs conversion too. --- drivers/net/wireless/rtlwifi/rtl8192cu/trx.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c b/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c index 79c98f6..3a92ba3 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c @@ -372,7 +372,7 @@ static void _rtl_rx_process(struct ieee80211_hw *hw, struct sk_buff *skb) __le16 fc; struct ieee80211_hdr *hdr; - memset(rx_status, 0, sizeof(rx_status)); + memset(rx_status, 0, sizeof(*rx_status)); rxdesc = skb->data; skb_len = skb->len; drvinfo_len = (GET_RX_DESC_DRVINFO_SIZE(rxdesc) * RTL_RX_DRV_INFO_UNIT); @@ -434,7 +434,7 @@ static void _rtl_rx_process(struct ieee80211_hw *hw, struct sk_buff *skb) "0x%02X\n", fc, (u32)hdr->addr1[0], (u32)hdr->addr1[1], (u32)hdr->addr1[2], (u32)hdr->addr1[3], (u32)hdr->addr1[4], (u32)hdr->addr1[5])); - memcpy(IEEE80211_SKB_RXCB(skb), &rx_status, sizeof(rx_status)); + memcpy(IEEE80211_SKB_RXCB(skb), rx_status, sizeof(*rx_status)); ieee80211_rx_irqsafe(hw, skb); }