Closed imarom closed 2 years ago
(gdb) p process_os_info_vector
$1 = std::vector of length 1, capacity 1 = {std::vector of length 2, capacity 2 = {{os_name = 0x60600007cf40 "cpe:2.3:o:canonical:ubuntu_linux:20.04.2:*:*:*:*:*:*:*", os_prevalence = 12}, {
os_name = 0x6060015a67c0 "cpe:2.3:o:canonical:ubuntu_linux:20.04.3:*:*:*:*:*:*:*", os_prevalence = 3}}}
(gdb) p index_max
$2 = 2
so a vector of size 1, being accessed at index 2
each element size is of 24 bytes - so this corresponds exactly to the AddressSanitizer issue
Hi Itay, thanks for reporting this issue, I think that I know exactly what the root cause is. Should be able to push a fix soon, but need some time to verify and test.
Fixed in 2.5.1.
Hi,
While running AddressSanitizer on a real traffic I hit the following crash:
Memory was allocated here:
Seems like the issue hits here:
os_info_data = process_os_info_vector[index_max].data();
where
index_max
is hitting just at the end:0x6030036242c8 is located 0 bytes to the right of 24-byte region