# HG changeset patch # User benoit # Date 1202976967 0 # Node ID c2e1ba46b27c06b9b8984233b4d1e52e4a48c3c7 # Parent dd654d025ed5ad0a36be1a8db9c6ad9e9a332ac9 Avoid void*-arithmetic. Patch by mvplayer: ffmpeg gmail com diff -r dd654d025ed5 -r c2e1ba46b27c mem.c --- a/mem.c Wed Feb 13 08:36:04 2008 +0000 +++ b/mem.c Thu Feb 14 08:16:07 2008 +0000 @@ -55,7 +55,7 @@ if(!ptr) return ptr; diff= ((-(long)ptr - 1)&15) + 1; - ptr += diff; + ptr = (char*)ptr + diff; ((char*)ptr)[-1]= diff; #elif defined (HAVE_MEMALIGN) ptr = memalign(16,size); @@ -105,7 +105,7 @@ //FIXME this isn't aligned correctly, though it probably isn't needed if(!ptr) return av_malloc(size); diff= ((char*)ptr)[-1]; - return realloc(ptr - diff, size + diff) + diff; + return (char*)realloc((char*)ptr - diff, size + diff) + diff; #else return realloc(ptr, size); #endif @@ -116,7 +116,7 @@ /* XXX: this test should not be needed on most libcs */ if (ptr) #ifdef CONFIG_MEMALIGN_HACK - free(ptr - ((char*)ptr)[-1]); + free((char*)ptr - ((char*)ptr)[-1]); #else free(ptr); #endif