Browse Source

trying to fix av_realloc()

Originally committed as revision 5996 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Michael Niedermayer 19 years ago
parent
commit
732692d94c
1 changed files with 5 additions and 3 deletions
  1. +5
    -3
      libavutil/mem.c

+ 5
- 3
libavutil/mem.c View File

@@ -50,7 +50,7 @@ void *av_malloc(unsigned int size)
#endif

/* let's disallow possible ambiguous cases */
if(size > (INT_MAX-16) )
if(size > (INT_MAX-16) || !size)
return NULL;

#ifdef MEMALIGN_HACK
@@ -109,14 +109,16 @@ void *av_realloc(void *ptr, unsigned int size)

#ifndef MEMALIGN_HACK
ptr= realloc(ptr, size);
if(((int)ptr&15) || !ptr)
assert(((int)((void*)0)&15) == 0); //for the null pointer pedants
if(!((int)ptr&15))
return ptr;
#endif

ptr2= av_malloc(size);
if(ptr && ptr2)
memcpy(ptr2, ptr, size);
av_free(ptr);
if(ptr2 || !size)
av_free(ptr);

return ptr2;
}


Loading…
Cancel
Save