Browse Source

revert aligned realloc() changesm this should be identical to r5784

Originally committed as revision 6008 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Michael Niedermayer 19 years ago
parent
commit
0a7c36af54
1 changed files with 11 additions and 15 deletions
  1. +11
    -15
      libavutil/mem.c

+ 11
- 15
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) || !size)
if(size > (INT_MAX-16) )
return NULL;

#ifdef MEMALIGN_HACK
@@ -101,26 +101,22 @@ void *av_malloc(unsigned int size)
*/
void *av_realloc(void *ptr, unsigned int size)
{
void *ptr2;
#ifdef MEMALIGN_HACK
int diff;
#endif

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

#ifndef MEMALIGN_HACK
ptr= realloc(ptr, size);
assert(((int)((void*)0)&15) == 0); //for the null pointer pedants
if(!((int)ptr&15))
return ptr;
#ifdef MEMALIGN_HACK
//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;
#else
return realloc(ptr, size);
#endif

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

return ptr2;
}

/**


Loading…
Cancel
Save