|
@@ -185,7 +185,8 @@ unlock:
|
|
|
static int batadv_iv_ogm_orig_del_if(struct batadv_orig_node *orig_node,
|
|
|
int max_if_num, int del_if_num)
|
|
|
{
|
|
|
- int chunk_size, ret = -ENOMEM, if_offset;
|
|
|
+ int ret = -ENOMEM;
|
|
|
+ size_t chunk_size, if_offset;
|
|
|
void *data_ptr = NULL;
|
|
|
|
|
|
spin_lock_bh(&orig_node->bat_iv.ogm_cnt_lock);
|
|
@@ -203,8 +204,9 @@ static int batadv_iv_ogm_orig_del_if(struct batadv_orig_node *orig_node,
|
|
|
memcpy(data_ptr, orig_node->bat_iv.bcast_own, del_if_num * chunk_size);
|
|
|
|
|
|
/* copy second part */
|
|
|
+ if_offset = (del_if_num + 1) * chunk_size;
|
|
|
memcpy((char *)data_ptr + del_if_num * chunk_size,
|
|
|
- orig_node->bat_iv.bcast_own + ((del_if_num + 1) * chunk_size),
|
|
|
+ (uint8_t *)orig_node->bat_iv.bcast_own + if_offset,
|
|
|
(max_if_num - del_if_num) * chunk_size);
|
|
|
|
|
|
free_bcast_own:
|