diff --git a/libavcodec/mem.c b/libavcodec/mem.c
index 6d0fadc29081ce585ea53ea3c991b4f1a762ff7a..04fcd5b39509ca01eafc8d4a210d2a578b817603 100644
--- a/libavcodec/mem.c
+++ b/libavcodec/mem.c
@@ -45,13 +45,13 @@
 void *av_malloc(unsigned int size)
 {
     void *ptr;
+    int diff;
 
     /* lets disallow possible ambiguous cases */
     if(size > INT_MAX)
         return NULL;
     
 #ifdef MEMALIGN_HACK
-    int diff;
     ptr = malloc(size+16+1);
     diff= ((-(int)ptr - 1)&15) + 1;
     ptr += diff;
@@ -97,13 +97,13 @@ void *av_malloc(unsigned int size)
  */
 void *av_realloc(void *ptr, unsigned int size)
 {
+    int diff;
     /* lets disallow possible ambiguous cases */
     if(size > INT_MAX)
         return NULL;
 
 #ifdef MEMALIGN_HACK
     //FIXME this isnt aligned correctly though it probably isnt needed
-    int diff;
     if(!ptr) return av_malloc(size);
     diff= ((char*)ptr)[-1];
     return realloc(ptr - diff, size + diff) + diff;