rtlwifi: rtl8192de: Fully initialize curvecount_val
authorKees Cook <keescook@chromium.org>
Thu, 17 Jun 2021 17:13:17 +0000 (10:13 -0700)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 22 Jun 2021 15:24:33 +0000 (18:24 +0300)
In preparation for FORTIFY_SOURCE performing compile-time and run-time
field bounds checking for memcpy(), memmove(), and memset(), avoid
intentionally writing across neighboring array fields.

The size argument to memset() is bytes, but the array element size
of curvecount_val is u32, so "CV_CURVE_CNT * 2" was only 1/4th of the
contents of curvecount_val. Adjust memset() to wipe full buffer size.

Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210617171317.3410722-1-keescook@chromium.org
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c

index 68ec009..76dd881 100644 (file)
@@ -2574,7 +2574,7 @@ static void _rtl92d_phy_lc_calibrate_sw(struct ieee80211_hw *hw, bool is2t)
                        RTPRINT(rtlpriv, FINIT, INIT_IQK,
                                "path-B / 2.4G LCK\n");
                }
-               memset(&curvecount_val[0], 0, CV_CURVE_CNT * 2);
+               memset(curvecount_val, 0, sizeof(curvecount_val));
                /* Set LC calibration off */
                rtl_set_rfreg(hw, (enum radio_path)index, RF_CHNLBW,
                              0x08000, 0x0);