diff mbox

[5/5] lib: fwts_multiproc: avoid using void * pointer arithmetic

Message ID 1410444329-25345-6-git-send-email-colin.king@canonical.com
State Accepted
Headers show

Commit Message

Colin Ian King Sept. 11, 2014, 2:05 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

cppcheck reports:
   When using void pointers in calculations, the behaviour is undefined

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 src/lib/src/fwts_multiproc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Keng-Yu Lin Sept. 12, 2014, 5:25 a.m. UTC | #1
On Thu, Sep 11, 2014 at 10:05 PM, Colin King <colin.king@canonical.com> wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> cppcheck reports:
>    When using void pointers in calculations, the behaviour is undefined
>
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  src/lib/src/fwts_multiproc.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/lib/src/fwts_multiproc.c b/src/lib/src/fwts_multiproc.c
> index 2d17948..69084e9 100644
> --- a/src/lib/src/fwts_multiproc.c
> +++ b/src/lib/src/fwts_multiproc.c
> @@ -78,7 +78,7 @@ static int fwts_mp_get_address(uint32_t *phys_addr)
>                 if ((mem = fwts_mmap(start, size)) == FWTS_MAP_FAILED)
>                         continue;
>
> -               for (ptr = mem; ptr < (uint8_t*)(mem + size); ptr+=16) {
> +               for (ptr = mem; ptr < (uint8_t*)mem + size; ptr+=16) {
>                         if ((*ptr == '_') &&
>                             (*(ptr + 1) == 'M') &&
>                             (*(ptr + 2) == 'P') &&
> @@ -176,7 +176,7 @@ int fwts_mp_data_get(fwts_mp_data *data)
>                         tmp += sizeof(fwts_mp_compat_bus_address_space_entry);
>                         break;
>                 default:
> -                       tmp = mem + data->size; /* Force abort */
> +                       tmp = (uint8_t *)mem + data->size; /* Force abort */
>                         break;
>                 }
>         }
> --
> 2.1.0
>
>

Acked-by: Keng-Yu Lin <kengyu@canonical.com>
Alex Hung Sept. 16, 2014, 2:15 a.m. UTC | #2
On 14-09-11 10:05 PM, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> cppcheck reports:
>     When using void pointers in calculations, the behaviour is undefined
>
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>   src/lib/src/fwts_multiproc.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/lib/src/fwts_multiproc.c b/src/lib/src/fwts_multiproc.c
> index 2d17948..69084e9 100644
> --- a/src/lib/src/fwts_multiproc.c
> +++ b/src/lib/src/fwts_multiproc.c
> @@ -78,7 +78,7 @@ static int fwts_mp_get_address(uint32_t *phys_addr)
>   		if ((mem = fwts_mmap(start, size)) == FWTS_MAP_FAILED)
>   			continue;
>   
> -		for (ptr = mem; ptr < (uint8_t*)(mem + size); ptr+=16) {
> +		for (ptr = mem; ptr < (uint8_t*)mem + size; ptr+=16) {
>   			if ((*ptr == '_') &&
>   			    (*(ptr + 1) == 'M') &&
>   			    (*(ptr + 2) == 'P') &&
> @@ -176,7 +176,7 @@ int fwts_mp_data_get(fwts_mp_data *data)
>   			tmp += sizeof(fwts_mp_compat_bus_address_space_entry);
>   			break;
>   		default:
> -			tmp = mem + data->size; /* Force abort */
> +			tmp = (uint8_t *)mem + data->size; /* Force abort */
>   			break;
>   		}
>   	}

Acked-by: Alex Hung <alex.hung@canonical.com>
diff mbox

Patch

diff --git a/src/lib/src/fwts_multiproc.c b/src/lib/src/fwts_multiproc.c
index 2d17948..69084e9 100644
--- a/src/lib/src/fwts_multiproc.c
+++ b/src/lib/src/fwts_multiproc.c
@@ -78,7 +78,7 @@  static int fwts_mp_get_address(uint32_t *phys_addr)
 		if ((mem = fwts_mmap(start, size)) == FWTS_MAP_FAILED)
 			continue;
 
-		for (ptr = mem; ptr < (uint8_t*)(mem + size); ptr+=16) {
+		for (ptr = mem; ptr < (uint8_t*)mem + size; ptr+=16) {
 			if ((*ptr == '_') &&
 			    (*(ptr + 1) == 'M') &&
 			    (*(ptr + 2) == 'P') &&
@@ -176,7 +176,7 @@  int fwts_mp_data_get(fwts_mp_data *data)
 			tmp += sizeof(fwts_mp_compat_bus_address_space_entry);
 			break;
 		default:
-			tmp = mem + data->size; /* Force abort */
+			tmp = (uint8_t *)mem + data->size; /* Force abort */
 			break;
 		}
 	}