]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/mem.c
remove non portable get/put_be64_double()
[ffmpeg] / libavcodec / mem.c
index 35c83050333bf2d27af25e899ceafb0471925b24..462d674e451166642c49da6f171a37d628dbd9cb 100644 (file)
 void *av_malloc(unsigned int size)
 {
     void *ptr;
-    
 #ifdef MEMALIGN_HACK
     int diff;
+#endif
+
+    /* lets disallow possible ambiguous cases */
+    if(size > INT_MAX)
+        return NULL;
+    
+#ifdef MEMALIGN_HACK
     ptr = malloc(size+16+1);
     diff= ((-(int)ptr - 1)&15) + 1;
     ptr += diff;
@@ -93,9 +99,18 @@ void *av_malloc(unsigned int size)
  */
 void *av_realloc(void *ptr, unsigned int size)
 {
+#ifdef MEMALIGN_HACK
+    int diff;
+#endif
+
+    /* lets disallow possible ambiguous cases */
+    if(size > INT_MAX)
+        return NULL;
+
 #ifdef MEMALIGN_HACK
     //FIXME this isnt aligned correctly though it probably isnt needed
-    int diff= ptr ? ((char*)ptr)[-1] : 0;
+    if(!ptr) return av_malloc(size);
+    diff= ((char*)ptr)[-1];
     return realloc(ptr - diff, size + diff) + diff;
 #else
     return realloc(ptr, size);