diff --git a/common/link_emulator/link.c b/common/link_emulator/link.c index a71417341912f00affd33a4d9ab782a045a1dd4c..80d24177f66fe84c73f68aaa198276a98ce6e032 100644 --- a/common/link_emulator/link.c +++ b/common/link_emulator/link.c @@ -306,10 +306,10 @@ void *run_forwarding(void *param) if (rand() % 100 < corrupt2) { // flip a second bit in the same byte - int random_bit2; - do { - random_bit2 = rand(); - } while (random_bit2 == random_bit); + int random_bit2 = rand(); + if(random_bit % 8 == random_bit2 % 8) { + random_bit2 += 1; + } m->payload[random_byte] ^= 1 << (random_bit2 % 8); }