X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fvendor%2Fmsgpack%2Fzone.h;fp=src%2Fvendor%2Fmsgpack%2Fzone.h;h=7facd547c288b0816630fa290dcc2139818ba8cc;hp=9005be7937399df8b9ccbf44904f3e3a8c5033e3;hb=0c07860d8c0160fea35c59fc5d43b948f354359e;hpb=0ae8863018325f0e86112e6a1ce466d5576b5461 diff --git a/src/vendor/msgpack/zone.h b/src/vendor/msgpack/zone.h index 9005be793..7facd547c 100644 --- a/src/vendor/msgpack/zone.h +++ b/src/vendor/msgpack/zone.h @@ -107,9 +107,9 @@ static inline void* msgpack_zone_malloc(msgpack_zone* zone, size_t size) { char* aligned = (char*)( - (size_t)( + (uintptr_t)( zone->chunk_list.ptr + (MSGPACK_ZONE_ALIGN - 1) - ) / MSGPACK_ZONE_ALIGN * MSGPACK_ZONE_ALIGN + ) & ~(uintptr_t)(MSGPACK_ZONE_ALIGN - 1) ); size_t adjusted_size = size + (size_t)(aligned - zone->chunk_list.ptr); if(zone->chunk_list.free >= adjusted_size) { @@ -120,7 +120,7 @@ static inline void* msgpack_zone_malloc(msgpack_zone* zone, size_t size) { void* ptr = msgpack_zone_malloc_expand(zone, size + (MSGPACK_ZONE_ALIGN - 1)); if (ptr) { - return (char*)((size_t)(ptr) / MSGPACK_ZONE_ALIGN * MSGPACK_ZONE_ALIGN); + return (char*)((uintptr_t)(ptr) & ~(uintptr_t)(MSGPACK_ZONE_ALIGN - 1)); } } return NULL;