OSDN Git Service

As *_static are not deallocated anymore except on program termination
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 30 May 2008 23:26:09 +0000 (23:26 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 30 May 2008 23:26:09 +0000 (23:26 +0000)
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

libavcodec/bitstream.c

index 78d7f1b..d39980f 100644 (file)
 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)