Huw Davies (@huw) commented about dlls/nsiproxy.sys/ip.c:
if (rw_data) rw_data = (BYTE *)rw_data + rw_size;
if (dynamic_data) dynamic_data = (BYTE *)dynamic_data + dynamic_size;
if (static_data) static_data = (BYTE *)static_data + static_size;
}
num++;
if (num <= *count)
{
entry.addr.s_addr = inet_addr( "239.255.255.250" );
ipv4_neighbour_fill_entry( &entry, key_data, rw_data, dynamic_data, static_data );
if (key_data) key_data = (BYTE *)key_data + key_size;
if (rw_data) rw_data = (BYTE *)rw_data + rw_size;
if (dynamic_data) dynamic_data = (BYTE *)dynamic_data + dynamic_size;
if (static_data) static_data = (BYTE *)static_data + static_size;
}
num++;
Adding the second entry looks a lot like the first. It should be possible to write this as a loop.