From cff2c5ac40c6acfb955fa9fe71f9e411e03031c8 Mon Sep 17 00:00:00 2001 From: Alfredo Cardigliano Date: Fri, 26 Jul 2024 12:10:45 +0200 Subject: [PATCH] Rework ptr access to avoid false array-index-out-of-bounds errors (3) --- drivers/intel/iavf/iavf-4.9.5-zc/src/iavf_virtchnl.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/intel/iavf/iavf-4.9.5-zc/src/iavf_virtchnl.c b/drivers/intel/iavf/iavf-4.9.5-zc/src/iavf_virtchnl.c index b6fe34e02..0df034ccf 100644 --- a/drivers/intel/iavf/iavf-4.9.5-zc/src/iavf_virtchnl.c +++ b/drivers/intel/iavf/iavf-4.9.5-zc/src/iavf_virtchnl.c @@ -1077,13 +1077,14 @@ void iavf_del_ether_addrs(struct iavf_adapter *adapter) veal->num_elements = count; list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list, list) { if (f->remove) { - ether_addr_copy(veal->list[i].addr, f->macaddr); - iavf_set_mac_addr_type(&veal->list[i], f); + struct virtchnl_ether_addr *ether_addr_array = &veal->list[0]; + if (i == count) + break; + ether_addr_copy(ether_addr_array[i].addr, f->macaddr); + iavf_set_mac_addr_type(ðer_addr_array[i], f); i++; list_del(&f->list); kfree(f); - if (i == count) - break; } } if (!more)