• Dan Carpenter's avatar
    ath6kl: add some bounds checking · 207cdbd6
    Dan Carpenter authored
    [ Upstream commit 5d6751ea ]
    
    The "ev->traffic_class" and "reply->ac" variables come from the network
    and they're used as an offset into the wmi->stream_exist_for_ac[] array.
    Those variables are u8 so they can be 0-255 but the stream_exist_for_ac[]
    array only has WMM_NUM_AC (4) elements.  We need to add a couple bounds
    checks to prevent array overflows.
    
    I also modified one existing check from "if (traffic_class > 3) {" to
    "if (traffic_class >= WMM_NUM_AC) {" just to make them all consistent.
    
    Fixes: bdcd8170 (" Add ath6kl cleaned up driver")
    Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    207cdbd6
wmi.c 108 KB