Silence false positive unaligned pointer access warning
This is a warning coming up on Android (ARM) platform. Clang 4.x creates a false positive here: the can_id is the first (and aligned) value in the packed struct modattr, so it's always aligned if the struct itself is aligned.pull/118/head
parent
02b87eb120
commit
f6e07960d3
4
cangw.c
4
cangw.c
|
|
@ -282,6 +282,7 @@ int parse_mod(char *optarg, struct modattr *modmsg)
|
|||
{
|
||||
char *ptr, *nptr;
|
||||
char hexdata[17] = {0};
|
||||
canid_t can_id;
|
||||
|
||||
ptr = optarg;
|
||||
nptr = strchr(ptr, ':');
|
||||
|
|
@ -330,9 +331,10 @@ int parse_mod(char *optarg, struct modattr *modmsg)
|
|||
ptr++;
|
||||
}
|
||||
|
||||
if (sscanf(++ptr, "%x.%hhx.%16s", &modmsg->cf.can_id,
|
||||
if (sscanf(++ptr, "%x.%hhx.%16s", &can_id,
|
||||
(unsigned char *)&modmsg->cf.can_dlc, hexdata) != 3)
|
||||
return 5;
|
||||
modmsg->cf.can_id = can_id;
|
||||
|
||||
/* 4-bit masks can have values from 0 to 0xF */
|
||||
if (modmsg->cf.can_dlc > 0xF)
|
||||
|
|
|
|||
Loading…
Reference in New Issue