mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-26 04:50:25 +00:00
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
This commit is contained in:
parent
83422c1940
commit
b9c8388710
@ -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…
Reference in New Issue
Block a user