mirror of https://gerrit.osmocom.org/libosmocore
tests: bitrev_test: Fix dynamic-stack-buffer-overflow
Fixes following AddressSanitizer report:
==1983==ERROR: AddressSanitizer: dynamic-stack-buffer-overflow on address 0x7ffc245f47e6 at pc 0x7f3e2deea68c bp 0x7ffc245f4750 sp 0x7ffc245f4740
WRITE of size 1 at 0x7ffc245f47e6 thread T0
#0 0x7f3e2deea68b in osmo_nibble_shift_right libosmocore/src/bits.c:92
#1 0x55c01902e1ab in sh_chk libosmocore/tests/bits/bitrev_test.c:215
#2 0x55c01902ed8f in main libosmocore/tests/bits/bitrev_test.c:305
#3 0x7f3e2c93006a in __libc_start_main (/usr/lib/libc.so.6+0x2306a)
#4 0x55c01902c059 in _start (libosmocore/tests/bits/.libs/lt-bitrev_test+0x5059)
This patch can be seen as a follow-up of commit
4fd6023b03
, which already fixed the
left-shift case in the same way.
Change-Id: I6e86d0164b7e982bf7b7449d5b3abfb3e1e5da46
This commit is contained in:
parent
0062a5fbbf
commit
c5c955caae
|
@ -299,10 +299,11 @@ int main(int argc, char **argv)
|
|||
for (offs = 0; offs < 13; offs++) {
|
||||
sh_chk(in1, ARRAY_SIZE(in1), offs, true);
|
||||
sh_chk(in1, ARRAY_SIZE(in1), offs, false);
|
||||
sh_chk(in2, ARRAY_SIZE(in2), offs, true);
|
||||
/* in2 is too short to shift left 12 nibbles */
|
||||
if (offs < 12)
|
||||
if (offs < 12) {
|
||||
sh_chk(in2, ARRAY_SIZE(in2), offs, true);
|
||||
sh_chk(in2, ARRAY_SIZE(in2), offs, false);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -154,5 +154,3 @@ running nibble tests...
|
|||
OUT: 0f00dcafedea
|
||||
[8] L IN: f00dcafedeadbeef, nibble 12:
|
||||
OUT: 00dcafedeadb
|
||||
[6] R IN: b00bbabeface, nibble 12:
|
||||
OUT: 0b00bbabefac
|
||||
|
|
Loading…
Reference in New Issue