As *_static are not deallocated anymore except on program termination

we do not need to keep track of them anymore.
Fixes CID117 RUN2 and various race conditions.

Originally committed as revision 13571 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Michael Niedermayer 17 years ago
parent 83422c1940
commit b9c8388710
  1. 28
      libavcodec/bitstream.c

@ -42,38 +42,14 @@
attribute_deprecated av_alloc_size(2)
static void *ff_realloc_static(void *ptr, unsigned int size);
static unsigned int last_static = 0;
static unsigned int allocated_static = 0;
static void** array_static = NULL;
static void *av_mallocz_static(unsigned int size)
{
void *ptr = av_mallocz(size);
if(ptr){
array_static =av_fast_realloc(array_static, &allocated_static, sizeof(void*)*(last_static+1));
if(!array_static)
return NULL;
array_static[last_static++] = ptr;
}
return ptr;
return av_mallocz(size);
}
static void *ff_realloc_static(void *ptr, unsigned int size)
{
int i;
if(!ptr)
return av_mallocz_static(size);
/* Look for the old ptr */
for(i = 0; i < last_static; i++) {
if(array_static[i] == ptr) {
array_static[i] = av_realloc(array_static[i], size);
return array_static[i];
}
}
return NULL;
return av_realloc(ptr, size);
}
void align_put_bits(PutBitContext *s)

Loading…
Cancel
Save