Skip to content

Commit

Permalink
revert aligned realloc() changesm this should be identical to r5784
Browse files Browse the repository at this point in the history
Originally committed as revision 6008 to svn://svn.ffmpeg.org/ffmpeg/trunk
  • Loading branch information
michaelni committed Aug 17, 2006
1 parent 2287c10 commit 0a7c36a
Showing 1 changed file with 11 additions and 15 deletions.
26 changes: 11 additions & 15 deletions libavutil/mem.c
Expand Up @@ -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
Expand Down Expand Up @@ -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;
}

/**
Expand Down

0 comments on commit 0a7c36a

Please sign in to comment.