From ed72c44df7669d4e7ad09a0e87740fc78d492b99 Mon Sep 17 00:00:00 2001 From: kimocoder Date: Fri, 15 Feb 2019 23:16:15 +0100 Subject: [PATCH] Add explicit memset call to avoid potentially corrupt data --- os_dep/linux/ioctl_cfg80211.c | 2 ++ os_dep/linux/os_intfs.c | 6 +++--- os_dep/linux/usb_intf.c | 26 +++++++++++++------------- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c index 1027e5d..6c81283 100644 --- a/os_dep/linux/ioctl_cfg80211.c +++ b/os_dep/linux/ioctl_cfg80211.c @@ -4118,6 +4118,8 @@ void rtw_cfg80211_indicate_sta_assoc(_adapter *padapter, u8 *pmgmt_frame, uint f { struct station_info sinfo; u8 ie_offset; + _rtw_memset(&sinfo, 0, sizeof(struct station_info)); + if (get_frame_sub_type(pmgmt_frame) == WIFI_ASSOCREQ) ie_offset = _ASOCREQ_IE_OFFSET_; else /* WIFI_REASSOCREQ */ diff --git a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c index 67399d5..ee06675 100644 --- a/os_dep/linux/os_intfs.c +++ b/os_dep/linux/os_intfs.c @@ -81,15 +81,15 @@ MODULE_PARM_DESC(rtw_ips_mode, "The default IPS mode"); module_param(rtw_lps_level, int, 0644); MODULE_PARM_DESC(rtw_lps_level, "The default LPS level"); -/* LPS: +/* LPS: * rtw_smart_ps = 0 => TX: pwr bit = 1, RX: PS_Poll * rtw_smart_ps = 1 => TX: pwr bit = 0, RX: PS_Poll * rtw_smart_ps = 2 => TX: pwr bit = 0, RX: NullData with pwr bit = 0 */ int rtw_smart_ps = 2; -#ifdef CONFIG_WMMPS_STA -/* WMMPS: +#ifdef CONFIG_WMMPS_STA +/* WMMPS: * rtw_smart_ps = 0 => Only for fw test * rtw_smart_ps = 1 => Refer to Beacon's TIM Bitmap * rtw_smart_ps = 2 => Don't refer to Beacon's TIM Bitmap diff --git a/os_dep/linux/usb_intf.c b/os_dep/linux/usb_intf.c index 061f7d1..518b3cb 100644 --- a/os_dep/linux/usb_intf.c +++ b/os_dep/linux/usb_intf.c @@ -63,12 +63,12 @@ static void rtw_dev_shutdown(struct device *dev) #ifdef CONFIG_WOWLAN #ifdef CONFIG_GPIO_WAKEUP /*default wake up pin change to BT*/ - RTW_INFO("%s:default wake up pin change to BT\n", __FUNCTION__); + RTW_INFO("%s:default wake up pin change to BT\n", __func__); rtw_hal_switch_gpio_wl_ctrl(adapter, WAKEUP_GPIO_IDX, _FALSE); #endif /* CONFIG_GPIO_WAKEUP */ if (pwrctl->wowlan_mode == _TRUE) - RTW_PRINT("%s wowlan_mode ==_TRUE do not run rtw_hal_deinit()\n", __FUNCTION__); + RTW_PRINT("%s wowlan_mode ==_TRUE do not run rtw_hal_deinit()\n", __func__); else #endif { @@ -824,7 +824,7 @@ static void process_spec_devid(const struct usb_device_id *pdid) if ((pdid->idVendor == vid) && (pdid->idProduct == pid) && (flags & SPEC_DEV_ID_ASSIGN_IFNAME)) { extern char *ifname; strncpy(ifname, "wlan10", 6); - /* RTW_INFO("%s()-%d: ifname=%s, vid=%04X, pid=%04X\n", __FUNCTION__, __LINE__, ifname, vid, pid); */ + /* RTW_INFO("%s()-%d: ifname=%s, vid=%04X, pid=%04X\n", __func__, __LINE__, ifname, vid, pid); */ } #endif /* RTK_DMP_PLATFORM */ @@ -899,7 +899,7 @@ int rtw_hw_suspend(_adapter *padapter) return 0; error_exit: - RTW_INFO("%s, failed\n", __FUNCTION__); + RTW_INFO("%s, failed\n", __func__); return -1; } @@ -934,7 +934,7 @@ int rtw_hw_resume(_adapter *padapter) return 0; error_exit: - RTW_INFO("%s, Open net dev failed\n", __FUNCTION__); + RTW_INFO("%s, Open net dev failed\n", __func__); return -1; } #endif @@ -954,7 +954,7 @@ static int rtw_suspend(struct usb_interface *pusb_intf, pm_message_t message) padapter = dvobj_get_primary_adapter(dvobj); if (pwrpriv->bInSuspend == _TRUE) { - RTW_INFO("%s bInSuspend = %d\n", __FUNCTION__, pwrpriv->bInSuspend); + RTW_INFO("%s bInSuspend = %d\n", __func__, pwrpriv->bInSuspend); pdbgpriv->dbg_suspend_error_cnt++; goto exit; } @@ -990,7 +990,7 @@ int rtw_resume_process(_adapter *padapter) if (pwrpriv->bInSuspend == _FALSE) { pdbgpriv->dbg_resume_error_cnt++; - RTW_INFO("%s bInSuspend = %d\n", __FUNCTION__, pwrpriv->bInSuspend); + RTW_INFO("%s bInSuspend = %d\n", _func__, pwrpriv->bInSuspend); return -1; } @@ -1067,13 +1067,13 @@ static int rtw_resume(struct usb_interface *pusb_intf) padapter = dvobj_get_primary_adapter(dvobj); pmlmeext = &padapter->mlmeextpriv; - RTW_INFO("==> %s (%s:%d)\n", __FUNCTION__, current->comm, current->pid); + RTW_INFO("==> %s (%s:%d)\n", __func__, current->comm, current->pid); pdbgpriv->dbg_resume_cnt++; #ifdef CONFIG_AUTOSUSPEND if (pwrpriv->bInternalAutoSuspend) ret = rtw_resume_process(padapter); - else + else #endif { if (pwrpriv->wowlan_mode || pwrpriv->wowlan_ap_mode) { @@ -1097,7 +1097,7 @@ static int rtw_resume(struct usb_interface *pusb_intf) } pmlmeext->last_scan_time = rtw_get_current_time(); - RTW_INFO("<======== %s return %d\n", __FUNCTION__, ret); + RTW_INFO("<======== %s return %d\n", __func__, ret); return ret; } @@ -1327,9 +1327,9 @@ _adapter *rtw_usb_primary_adapter_init(struct dvobj_priv *dvobj, /* usb_autopm_get_interface(adapter_to_dvobj(padapter)->pusbintf ); */ /* init pm_usage_cnt ,let it start from 1 */ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) - RTW_INFO("%s...pm_usage_cnt(%d).....\n", __FUNCTION__, atomic_read(&(dvobj->pusbintf->pm_usage_cnt))); + RTW_INFO("%s...pm_usage_cnt(%d).....\n", __func__, atomic_read(&(dvobj->pusbintf->pm_usage_cnt))); #else - RTW_INFO("%s...pm_usage_cnt(%d).....\n", __FUNCTION__, dvobj->pusbintf->pm_usage_cnt); + RTW_INFO("%s...pm_usage_cnt(%d).....\n", __func__, dvobj->pusbintf->pm_usage_cnt); #endif } } @@ -1614,7 +1614,7 @@ static int __init rtw_drv_entry(void) #endif /* BTCOEXVERSION */ if (ret != 0) { - RTW_INFO("%s: power on failed!!(%d)\n", __FUNCTION__, ret); + RTW_INFO("%s: power on failed!!(%d)\n", __func__, ret); ret = -1; goto exit; }