lavu/mem: Do not realloc in av_fast_realloc() if size == min_size.
authorCarl Eugen Hoyos <ceffmpeg@gmail.com>
Sat, 30 Dec 2017 13:38:33 +0000 (14:38 +0100)
committerCarl Eugen Hoyos <ceffmpeg@gmail.com>
Mon, 1 Jan 2018 21:30:22 +0000 (22:30 +0100)
This can avoid OOM for min_size close to FFmpeg's arbitrary alloc limits.

libavutil/mem.c

index 79e8b59..0729e1d 100644 (file)
@@ -463,7 +463,7 @@ void av_memcpy_backptr(uint8_t *dst, int back, int cnt)
 
 void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size)
 {
-    if (min_size < *size)
+    if (min_size <= *size)
         return ptr;
 
     min_size = FFMAX(min_size + min_size / 16 + 32, min_size);