diff options
author | Vitaly Lavrov <vel21ripn@gmail.com> | 2017-10-03 16:43:23 +0300 |
---|---|---|
committer | Vitaly Lavrov <vel21ripn@gmail.com> | 2017-10-03 16:43:23 +0300 |
commit | 25a4569e672ad47946be1bb8b836576b5ba47693 (patch) | |
tree | e0e6128702f34bce53e2482f29659dfd5a281040 /example/ndpiReader.c | |
parent | 82c244b04f06aa336cb521f68d2ecb010c3a4780 (diff) |
Fix undefined behavior (detected by gcc):
ndpi_define.h.in:218: Macros NDPI_SET(), NDPI_CLR(), NDPI_ISSET()
runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
http.c:364: strncpy((char*)flow->protos.http.nat_ip,(char*)packet->forwarded_line.ptr,len);
runtime error: null pointer passed as argument 2, which is declared to never be null
ndpi_patricia.c:ndpi_comp_with_mask(): int m = ((-1) << (8 - (mask % 8)));
runtime error: left shift of negative value -1
Original function ndpi_comp_with_mask() is unreadable and slow.
We have only 2 type of address: 32 bit and 128 bit. The optimized version works 6 times faster (IPv4).
Diffstat (limited to 'example/ndpiReader.c')
0 files changed, 0 insertions, 0 deletions