avutil/mem: simplify av_reallocp_array() by using av_realloc_f()
[ffmpeg.git] / libavutil / mem.c
index 1f2b0c3..76f6b65 100644 (file)
@@ -190,19 +190,9 @@ void *av_realloc_array(void *ptr, size_t nmemb, size_t size)
 int av_reallocp_array(void *ptr, size_t nmemb, size_t size)
 {
     void **ptrptr = ptr;
-    void *ret;
-    if (size <= 0 || nmemb >= INT_MAX / size)
-        return AVERROR(ENOMEM);
-    if (nmemb <= 0) {
-        av_freep(ptr);
-        return 0;
-    }
-    ret = av_realloc(*ptrptr, nmemb * size);
-    if (!ret) {
-        av_freep(ptr);
+    *ptrptr = av_realloc_f(*ptrptr, nmemb, size);
+    if (!*ptrptr && !(nmemb && size))
         return AVERROR(ENOMEM);
-    }
-    *ptrptr = ret;
     return 0;
 }