On Tue, 5 Mar 2019, Finn Thain wrote:

> 
> Looks bogus to me.
> 
> If you change memcpy to __builtin_memcpy, then we avoid the macro and the 
> warning changes to,
> 
> ./include/linux/string.h:456:3: warning: '__builtin_memcpy' forming offset 
> [7, 8] is out of the bounds [0, 6] [-Warray-bounds]
>    __builtin_memcpy(dest, src, dest_len);
> 
> The compiler has nothing to complain about here. dest is known to be 
> id->fr and dest_len is known to be sizeof(id->fr).
> 
> The error message indicates that gcc has applied the bounds [0, 6] to dest 
> when in fact those are the bounds for src.
> 

My mistake. GCC is right, it seems memcpy will read past the end of 
"5.0.0+".

-- 

Reply via email to