drivers: can: loopback: guard against out-of-bounds filter IDs
Guard against out-of-bounds filter IDs when removing RX filters. Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit is contained in:
parent
efd0d3ba96
commit
566c64f0c0
1 changed files with 5 additions and 0 deletions
|
@ -203,6 +203,11 @@ static void can_loopback_remove_rx_filter(const struct device *dev, int filter_i
|
||||||
{
|
{
|
||||||
struct can_loopback_data *data = dev->data;
|
struct can_loopback_data *data = dev->data;
|
||||||
|
|
||||||
|
if (filter_id >= ARRAY_SIZE(data->filters)) {
|
||||||
|
LOG_ERR("filter ID %d out-of-bounds", filter_id);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
LOG_DBG("Remove filter ID: %d", filter_id);
|
LOG_DBG("Remove filter ID: %d", filter_id);
|
||||||
k_mutex_lock(&data->mtx, K_FOREVER);
|
k_mutex_lock(&data->mtx, K_FOREVER);
|
||||||
data->filters[filter_id].rx_cb = NULL;
|
data->filters[filter_id].rx_cb = NULL;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue