From 1fe06744d4b8841e4ed5eb7ac5cedb18882cffc7 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Wed, 4 Dec 2013 18:38:13 +0100 Subject: [PATCH] libmedia: use size_t consistently in rtm_pool. * fixed a bad address error on x86_64. --- src/kits/media/RealtimeAlloc.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/kits/media/RealtimeAlloc.cpp b/src/kits/media/RealtimeAlloc.cpp index 82fd7532a3..4bd0e9ff0f 100644 --- a/src/kits/media/RealtimeAlloc.cpp +++ b/src/kits/media/RealtimeAlloc.cpp @@ -49,10 +49,10 @@ public: void* AllocatedAddress() const; static FreeChunk* SetToAllocated(void* allocated); - static addr_t NextOffset() { return sizeof(uint32); } + static addr_t NextOffset() { return sizeof(size_t); } private: - uint32 fSize; + size_t fSize; FreeChunk* fNext; }; @@ -198,7 +198,7 @@ FreeChunk::AllocatedAddress() const FreeChunk* FreeChunk::SetToAllocated(void* allocated) { - return (FreeChunk*)((uint8*)allocated - FreeChunk::NextOffset()); + return (FreeChunk*)((addr_t)allocated - FreeChunk::NextOffset()); } @@ -386,7 +386,7 @@ rtm_alloc(rtm_pool* pool, size_t size) last->SetNext(chunk->Next()); } - pool->available -= size + sizeof(uint32); + pool->available -= size + sizeof(size_t); TRACE("malloc(%lu) -> %p\n", size, chunk->AllocatedAddress()); return chunk->AllocatedAddress();