When we're removing existing address entries the code calculates
a base and index value for each entry that we're removing an address
from. However, it then _uses_ a previously calculated base value,
with the new index. This works fine if the old base and the new base
match, but if they don't, chaos will ensue.
Fix to always use matched base and index pairs.
Change-Id: Ia592abdc1c58b5cf5776bb24e67aee708275a9b0
Reviewed-on: http://gerrit.openafs.org/4771
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
base = (ctx.hostaddress[WillChange[i]] >> 16) & 0xff;
index = ctx.hostaddress[WillChange[i]] & 0x0000ffff;
- tex = &ctx.ex_addr[fbase][index];
+ tex = &ctx.ex_addr[base][index];
if (++m == 1)
VLog(0,