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 3FFFFFFFpull/321/head
parent
34732eddeb
commit
eb2b38790a
2
lib.c
2
lib.c
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue