From ef3a09499f918d575493915fd80f0d6bb232fb88 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 12 May 2020 16:55:59 +0200 Subject: build: fix void* use in pointer maths Summary: void* is an invalid type for calculating pointer offsets, so ensure that this is always cast to something else (e.g., char*) in the few cases where it's been misused Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11816 --- src/lib/eina/eina_accessor.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/lib/eina/eina_accessor.c') diff --git a/src/lib/eina/eina_accessor.c b/src/lib/eina/eina_accessor.c index 67494987a9..812da5c9c1 100644 --- a/src/lib/eina/eina_accessor.c +++ b/src/lib/eina/eina_accessor.c @@ -205,20 +205,20 @@ struct _Eina_Accessor_CArray_Length static Eina_Bool eina_carray_length_accessor_get_at(Eina_Accessor_CArray_Length *accessor, unsigned int idx, void **data) { - if (accessor->array + idx*accessor->step >= accessor->end) + if ((char*)accessor->array + idx*accessor->step >= (char*)accessor->end) return EINA_FALSE; - memcpy(data, (void*) accessor->array + idx*accessor->step, accessor->step); + memcpy(data, (char*) accessor->array + idx*accessor->step, accessor->step); return EINA_TRUE; } static Eina_Bool eina_carray_length_accessor_ptr_get_at(Eina_Accessor_CArray_Length *accessor, unsigned int idx, void **data) { - if (accessor->array + idx*accessor->step >= accessor->end) + if ((char*)accessor->array + idx*accessor->step >= (char*)accessor->end) return EINA_FALSE; - *data = (((void*)accessor->array) + idx*accessor->step); + *data = (((char*)accessor->array) + idx*accessor->step); return EINA_TRUE; } @@ -246,7 +246,7 @@ eina_carray_length_accessor_new(void** array, unsigned int step, unsigned int le EINA_MAGIC_SET(&accessor->accessor, EINA_MAGIC_ACCESSOR); accessor->array = array; - accessor->end = accessor->array + length * step; + accessor->end = (void**)((char*)accessor->array + length * step); accessor->step = step; accessor->accessor.version = EINA_ACCESSOR_VERSION; @@ -269,7 +269,7 @@ eina_carray_length_ptr_accessor_new(void** array, unsigned int step, unsigned in EINA_MAGIC_SET(&accessor->accessor, EINA_MAGIC_ACCESSOR); accessor->array = array; - accessor->end = accessor->array + length * step; + accessor->end = (void**)((char*)accessor->array + length * step); accessor->step = step; accessor->accessor.version = EINA_ACCESSOR_VERSION; -- cgit v1.2.1