encoding: correct encoding of CRBB in ACK/NACK when not byte aligned
The last bits of the CRBB (compressed receive block bitmap) was incorrect
encoded when the CRBB is not byte aligned.
Related: OS#3728
Change-Id: I7261aa71b37d7ead52992f8db462f72a3804988e
diff --git a/src/encoding.cpp b/src/encoding.cpp
index 1b325b4..b6879cc 100644
--- a/src/encoding.cpp
+++ b/src/encoding.cpp
@@ -965,7 +965,7 @@
crbb_len = crbb_len - 8;
iter++;
} else {
- bitvec_write_field(dest, &wp, crbb_bitmap[iter], crbb_len);
+ bitvec_write_field(dest, &wp, crbb_bitmap[iter] >> (8 - crbb_len), crbb_len);
crbb_len = 0;
}
}