• Roel Kluin's avatar
    libertas: Read buffer overflow · 57921c31
    Roel Kluin authored
    Several arrays were read before checking whether the index was within
    bounds. ARRAY_SIZE() should be used to determine the size of arrays.
    
    rates->rates has an arraysize of 1, so calling get_common_rates()
    with a rates_size of MAX_RATES (14) was causing reads out of bounds.
    
    tmp_size can increment at most to (ARRAY_SIZE(lbs_bg_rates) - 1) *
    (*rates_size - 1), so that should be the number of elements of tmp[].
    
    A goto can be eliminated: ret was already set upon its declaration.
    Signed-off-by: default avatarRoel Kluin <roel.kluin@gmail.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    57921c31
assoc.c 51.2 KB