max17042_battery: Fix a couple buffer overflows
There are a couple issues here caused by confusion between sizeof() and ARRAY_SIZE(). "table_size" should be the number of elements, but we should allocate it with kcalloc() so that we allocate the correct number of bytes. In max17042_init_model() we don't allocate enough space so we go past the end of the array in max17042_read_model_data() and max17042_model_data_compare(). In max17042_verify_model_lock() we allocate the right amount of space but we call max17042_read_model_data() with the wrong number of elements and also in the for loop we go past the end of the array. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Acked-by: NDirk Brandewie <dirk.brandewie@gmail.com> Signed-off-by: NAnton Vorontsov <anton.vorontsov@linaro.org>
Showing
想要评论请 注册 或 登录