From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754250AbbG0ORn (ORCPT ); Mon, 27 Jul 2015 10:17:43 -0400 Received: from mail-yk0-f172.google.com ([209.85.160.172]:35105 "EHLO mail-yk0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752818AbbG0ORk (ORCPT ); Mon, 27 Jul 2015 10:17:40 -0400 From: Joshua Clayton To: Larry Finger , Florian Schilhabel , Greg Kroah-Hartman , Sudip Mukherjee , Nitin Kuppelur , Joshua Clayton , Vaishali Thakkar , Tapasweni Pathak , Daniel Baluta , Melike Yurtoglu , Max Perepelitsyn , Aya Mahfouz , Cristina Opriceana , Dogukan Ergun , Julia Lawall , Dan Carpenter , Haneen Mohammed , Rickard Strandqvist Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: [PATCH V2 1/6] staging: rtl8712: fix buggy size calculation Date: Mon, 27 Jul 2015 07:17:14 -0700 Message-Id: <1438006639-9015-2-git-send-email-stillcompiling@gmail.com> X-Mailer: git-send-email 2.4.6 In-Reply-To: <1438006639-9015-1-git-send-email-stillcompiling@gmail.com> References: <1438006639-9015-1-git-send-email-stillcompiling@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org r8712_get_ndis_wlan_bssid_ex_sz has a "6 * sizeof(unsigned long)" where the underlying struct has a 6 * unsigned char. Simplify the calculation by just subtracting the variable part from the size of the struct. This also gets rid of a use of typedef NDIS_802_11_RATES_EX Signed-off-by: Joshua Clayton diff --git a/drivers/staging/rtl8712/rtl871x_mlme.c b/drivers/staging/rtl8712/rtl871x_mlme.c index c044b0e..6b3451f 100644 --- a/drivers/staging/rtl8712/rtl871x_mlme.c +++ b/drivers/staging/rtl8712/rtl871x_mlme.c @@ -210,17 +210,7 @@ void r8712_generate_random_ibss(u8 *pibss) uint r8712_get_ndis_wlan_bssid_ex_sz(struct ndis_wlan_bssid_ex *bss) { - uint t_len; - - t_len = sizeof(u32) + 6 * sizeof(unsigned long) + 2 + - sizeof(struct ndis_802_11_ssid) + sizeof(u32) + - sizeof(s32) + - sizeof(enum NDIS_802_11_NETWORK_TYPE) + - sizeof(struct NDIS_802_11_CONFIGURATION) + - sizeof(enum NDIS_802_11_NETWORK_INFRASTRUCTURE) + - sizeof(NDIS_802_11_RATES_EX) + - sizeof(u32) + bss->IELength; - return t_len; + return sizeof(*bss) + bss->IELength - MAX_IE_SZ; } u8 *r8712_get_capability_from_ie(u8 *ie) -- 2.4.6