mirror of
https://github.com/linux-can/can-utils.git
synced 2026-09-20 14:29:55 +02:00
fixes undefined behavior in parse_canframe (lib.c:187) by chaning tmp to
canid_t Issue: mkdir build && cd build CC=clang cmake -DCMAKE_C_FLAGS="-fsanitize=address,undefined" -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address,undefined" .. && cmake --build . echo "(0.0) can1 ffffffff#00000000" | ./log2long can-utils/lib.c:187:23: runtime error: left shift of 15 by 28 places cannot be represented in type 'int' SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /can-utils/lib.c:187:23 in (0.0) can1 3FFFFFFF
This commit is contained in:
@@ -159,7 +159,7 @@ int parse_canframe(char *cs, struct canfd_frame *cf) {
|
|||||||
int i, idx, dlen, len;
|
int i, idx, dlen, len;
|
||||||
int maxdlen = CAN_MAX_DLEN;
|
int maxdlen = CAN_MAX_DLEN;
|
||||||
int ret = CAN_MTU;
|
int ret = CAN_MTU;
|
||||||
unsigned char tmp;
|
canid_t tmp;
|
||||||
|
|
||||||
len = strlen(cs);
|
len = strlen(cs);
|
||||||
//printf("'%s' len %d\n", cs, len);
|
//printf("'%s' len %d\n", cs, len);
|
||||||
|
|||||||
Reference in New Issue
Block a user