ACK: [PATCH] lib: fwts_coreboot_cbmem: don't use void * pointer arithmetic

Alex Hung alex.hung at canonical.com
Tue Nov 13 12:52:36 UTC 2018


On 2018-11-13 8:39 p.m., Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
> 
> void * pointer arithmetic is a GCC'ism and the behaviour is undefined,
> so use char * pointer arithmetic instead. Cleans up clang warnings.
> 
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>  src/lib/src/fwts_coreboot_cbmem.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/src/lib/src/fwts_coreboot_cbmem.c b/src/lib/src/fwts_coreboot_cbmem.c
> index 53e57136..e02c523c 100644
> --- a/src/lib/src/fwts_coreboot_cbmem.c
> +++ b/src/lib/src/fwts_coreboot_cbmem.c
> @@ -144,11 +144,11 @@ static int parse_cbtable_entries(
>  	off_t *cbmem_console_addr)
>  {
>  	size_t i;
> -	const struct lb_record* lbr_p;
>  	int forwarding_table_found = 0;
> +	const struct lb_record *lbr_p;
>  
>  	for (i = 0; i < table_size; i += lbr_p->size) {
> -		lbr_p = lbtable + i;
> +		lbr_p = (struct lb_record*)((char *)lbtable + i);
>  		switch (lbr_p->tag) {
>  		case LB_TAG_CBMEM_CONSOLE: {
>  			*cbmem_console_addr = (off_t)parse_cbmem_ref((const struct lb_cbmem_ref *) lbr_p).cbmem_addr;
> @@ -205,11 +205,9 @@ static int parse_cbtable(
>  	/* look at every 16 bytes */
>  	for (i = 0; i <= req_size - sizeof(struct lb_header); i += 16) {
>  		int ret;
> -		const struct lb_header *lbh;
> +		const struct lb_header *lbh = (struct lb_header *)((char *)buf + i);
>  		void *map;
>  
> -		lbh = buf + i;
> -
>  		if (memcmp(lbh->signature, "LBIO", sizeof(lbh->signature)) ||
>  		    !lbh->header_bytes ||
>  		    ipchcksum(lbh, sizeof(*lbh))) {
> @@ -262,7 +260,7 @@ static ssize_t memory_read_from_buffer(
>  	if (count > available - pos)
>  		count = available - pos;
>  
> -	memcpy(to, from + pos, count);
> +	memcpy(to, (char *)from + pos, count);
>  
>  	*ppos = pos + count;
>  
> 

Acked-by: Alex Hung <alex.hung at canonical.com>

-- 
Cheers,
Alex Hung



More information about the fwts-devel mailing list